X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fpapers%2Fuse_case%2Fstats%2Fparse%2FSAX2Print%2FSAX2Print.hpp;fp=helm%2Fpapers%2Fuse_case%2Fstats%2Fparse%2FSAX2Print%2FSAX2Print.hpp;h=7d89f74d681930379271f0258a87a09116ed71dd;hb=a84be8db90f3f27148074c22d80b21a2dcf58576;hp=0000000000000000000000000000000000000000;hpb=339504cd07bef1767536d6817953ba084e00855d;p=helm.git diff --git a/helm/papers/use_case/stats/parse/SAX2Print/SAX2Print.hpp b/helm/papers/use_case/stats/parse/SAX2Print/SAX2Print.hpp new file mode 100644 index 000000000..7d89f74d6 --- /dev/null +++ b/helm/papers/use_case/stats/parse/SAX2Print/SAX2Print.hpp @@ -0,0 +1,93 @@ +/* + * Copyright 1999-2000,2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * $Log$ + * Revision 1.1 2004/11/23 13:38:52 lpadovan + * * basic infrastructure for collecting statistics + * + * Revision 1.4 2004/09/08 13:55:33 peiyongz + * Apache License Version 2.0 + * + * Revision 1.3 2003/05/30 09:36:36 gareth + * Use new macros for iostream.h and std:: issues. + * + * Revision 1.2 2003/02/05 18:53:23 tng + * [Bug 11915] Utility for freeing memory. + * + * Revision 1.1 2000/08/02 19:16:14 jpolast + * initial checkin of SAX2Print + * + * + */ + +// --------------------------------------------------------------------------- +// Includes for all the program files to see +// --------------------------------------------------------------------------- +#include +#if defined(XERCES_NEW_IOSTREAMS) +#include +#else +#include +#endif +#include +#include "SAX2PrintHandlers.hpp" + + +// --------------------------------------------------------------------------- +// This is a simple class that lets us do easy (though not terribly efficient) +// trancoding of XMLCh data to local code page for display. +// --------------------------------------------------------------------------- +class StrX +{ +public : + // ----------------------------------------------------------------------- + // Constructors and Destructor + // ----------------------------------------------------------------------- + StrX(const XMLCh* const toTranscode) + { + // Call the private transcoding method + fLocalForm = XMLString::transcode(toTranscode); + } + + ~StrX() + { + XMLString::release(&fLocalForm); + } + + // ----------------------------------------------------------------------- + // Getter methods + // ----------------------------------------------------------------------- + const char* localForm() const + { + return fLocalForm; + } + +private : + // ----------------------------------------------------------------------- + // Private data members + // + // fLocalForm + // This is the local code page form of the string. + // ----------------------------------------------------------------------- + char* fLocalForm; +}; + +inline XERCES_STD_QUALIFIER ostream& operator<<(XERCES_STD_QUALIFIER ostream& target, const StrX& toDump) +{ + target << toDump.localForm(); + return target; +}