You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by pe...@apache.org on 2002/05/29 00:40:46 UTC
cvs commit: xml-xerces/c/src/xercesc/framework StdOutFormatTarget.hpp StdOutFormatTarget.cpp MemBufFormatTarget.hpp MemBufFormatTarget.cpp Makefile.in
peiyongz 02/05/28 15:40:46
Modified: c/src/xercesc/framework Makefile.in
Added: c/src/xercesc/framework StdOutFormatTarget.hpp
StdOutFormatTarget.cpp MemBufFormatTarget.hpp
MemBufFormatTarget.cpp
Log:
DOM3 Save Interface: DOMWriter/DOMWriterFilter
Revision Changes Path
1.2 +7 -0 xml-xerces/c/src/xercesc/framework/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/Makefile.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Makefile.in 1 Feb 2002 22:21:50 -0000 1.1
+++ Makefile.in 28 May 2002 22:40:46 -0000 1.2
@@ -55,8 +55,11 @@
#
#
# $Log: Makefile.in,v $
-# Revision 1.1 2002/02/01 22:21:50 peiyongz
-# Initial revision
+# Revision 1.2 2002/05/28 22:40:46 peiyongz
+# DOM3 Save Interface: DOMWriter/DOMWriterFilter
+#
+# Revision 1.1.1.1 2002/02/01 22:21:50 peiyongz
+# sane_include
#
# Revision 1.11 2001/07/06 17:11:56 tng
# Automatic build of single-threaded library. By Martin Kalen.
@@ -125,7 +128,9 @@
FRAMEWORK_CPP_PUBHEADERS = \
LocalFileInputSource.hpp \
MemBufInputSource.hpp \
+ MemBufFormatTarget.hpp \
StdInInputSource.hpp \
+ StdOutFormatTarget.hpp \
URLInputSource.hpp \
XMLAttDef.hpp \
XMLAttDefList.hpp \
@@ -154,7 +159,9 @@
FRAMEWORK_CPP_OBJECTS = \
LocalFileInputSource.$(TO) \
MemBufInputSource.$(TO) \
+ MemBufFormatTarget.$(TO) \
StdInInputSource.$(TO) \
+ StdOutFormatTarget.$(TO) \
URLInputSource.$(TO) \
XMLAttDef.$(TO) \
XMLAttr.$(TO) \
1.1 xml-xerces/c/src/xercesc/framework/StdOutFormatTarget.hpp
Index: StdOutFormatTarget.hpp
===================================================================
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 1999-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Xerces" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache\@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This 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: StdOutFormatTarget.hpp,v 1.1 2002/05/28 22:40:46 peiyongz Exp $
* $Log: StdOutFormatTarget.hpp,v $
* Revision 1.1 2002/05/28 22:40:46 peiyongz
* DOM3 Save Interface: DOMWriter/DOMWriterFilter
*
*/
#ifndef StdOutFormatTarget_HEADER_GUARD_
#define StdOutFormatTarget_HEADER_GUARD_
#include <xercesc/framework/XMLFormatter.hpp>
class XMLPARSER_EXPORT StdOutFormatTarget : public XMLFormatTarget {
public:
/** @name constructors and destructor */
//@{
StdOutFormatTarget() ;
~StdOutFormatTarget();
//@}
// -----------------------------------------------------------------------
// Implementations of the format target interface
// -----------------------------------------------------------------------
virtual void writeChars(const XMLByte* const toWrite
, const unsigned int count
, XMLFormatter* const formatter);
private:
// -----------------------------------------------------------------------
// Unimplemented methods.
// -----------------------------------------------------------------------
StdOutFormatTarget(const StdOutFormatTarget& other);
void operator=(const StdOutFormatTarget& rhs);
};
#endif
1.1 xml-xerces/c/src/xercesc/framework/StdOutFormatTarget.cpp
Index: StdOutFormatTarget.cpp
===================================================================
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 1999-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Xerces" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache\@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This 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: StdOutFormatTarget.cpp,v 1.1 2002/05/28 22:40:46 peiyongz Exp $
* $Log: StdOutFormatTarget.cpp,v $
* Revision 1.1 2002/05/28 22:40:46 peiyongz
* DOM3 Save Interface: DOMWriter/DOMWriterFilter
*
*/
#include <xercesc/framework/StdOutFormatTarget.hpp>
#include <iostream.h>
StdOutFormatTarget::StdOutFormatTarget()
{}
StdOutFormatTarget::~StdOutFormatTarget()
{}
void StdOutFormatTarget::writeChars(const XMLByte* const toWrite
, const unsigned int count
, XMLFormatter* const formatter)
{
// Surprisingly, Solaris was the only platform on which
// required the char* cast to print out the string correctly.
// Without the cast, it was printing the pointer value in hex.
// Quite annoying, considering every other platform printed
// the string with the explicit cast to char* below.
cout.write((char *) toWrite, (int) count);
}
1.1 xml-xerces/c/src/xercesc/framework/MemBufFormatTarget.hpp
Index: MemBufFormatTarget.hpp
===================================================================
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 1999-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Xerces" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache\@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This 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: MemBufFormatTarget.hpp,v 1.1 2002/05/28 22:40:46 peiyongz Exp $
* $Log: MemBufFormatTarget.hpp,v $
* Revision 1.1 2002/05/28 22:40:46 peiyongz
* DOM3 Save Interface: DOMWriter/DOMWriterFilter
*
*/
#ifndef MemBufFormatTarget_HEADER_GUARD_
#define MemBufFormatTarget_HEADER_GUARD_
#include <xercesc/framework/XMLFormatter.hpp>
#include <xercesc/framework/XMLBuffer.hpp>
class XMLPARSER_EXPORT MemBufFormatTarget : public XMLFormatTarget {
public:
/** @name constructors and destructor */
//@{
MemBufFormatTarget() ;
~MemBufFormatTarget();
//@}
// -----------------------------------------------------------------------
// Implementations of the format target interface
// -----------------------------------------------------------------------
virtual void writeChars(const XMLByte* const toWrite
, const unsigned int count
, XMLFormatter* const formatter);
// -----------------------------------------------------------------------
// Getter
// -----------------------------------------------------------------------
/** @name getString */
/**
* caller owns the returned string and is accountable
* for the memory release
*/
//@{
XMLCh* getString() const;
private:
// -----------------------------------------------------------------------
// Unimplemented methods.
// -----------------------------------------------------------------------
MemBufFormatTarget(const MemBufFormatTarget& other);
void operator=(const MemBufFormatTarget& rhs);
XMLBuffer *fDataBuf;
};
#endif
1.1 xml-xerces/c/src/xercesc/framework/MemBufFormatTarget.cpp
Index: MemBufFormatTarget.cpp
===================================================================
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 1999-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Xerces" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache\@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This 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: MemBufFormatTarget.cpp,v 1.1 2002/05/28 22:40:46 peiyongz Exp $
* $Log: MemBufFormatTarget.cpp,v $
* Revision 1.1 2002/05/28 22:40:46 peiyongz
* DOM3 Save Interface: DOMWriter/DOMWriterFilter
*
*/
#include <xercesc/framework/MemBufFormatTarget.hpp>
#include <xercesc/util/XMLString.hpp>
MemBufFormatTarget::MemBufFormatTarget()
:fDataBuf(0)
{
fDataBuf = new XMLBuffer();
}
MemBufFormatTarget::~MemBufFormatTarget()
{
delete fDataBuf;
}
void MemBufFormatTarget::writeChars(const XMLByte* const toWrite
, const unsigned int count
, XMLFormatter * const formatter)
{
//
// The toWrite may not be null terminated,
// so we need to do some extra work here
//
XMLByte lastChar = toWrite[count]; // preserve the last char
XMLByte* tmpBuf = (XMLByte *)toWrite;
tmpBuf[count] = 0;
XMLCh* transBuf = XMLString::transcode((char *) tmpBuf);
fDataBuf->append(transBuf, XMLString::stringLen(transBuf));
delete[] transBuf;
tmpBuf[count] = lastChar; // restore the last char
}
XMLCh* MemBufFormatTarget::getString() const
{
return XMLString::replicate(fDataBuf->getRawBuffer());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org