cvs commit: xml-xerces/c/doc faq-build.xml program-others.xml

2003-01-10 Thread tng
tng 2003/01/10 07:47:06

  Modified:c/docfaq-build.xml program-others.xml
  Log:
  More documentation about use of C++ namespace.
  
  Revision  ChangesPath
  1.13  +72 -0 xml-xerces/c/doc/faq-build.xml
  
  Index: faq-build.xml
  ===
  RCS file: /home/cvs/xml-xerces/c/doc/faq-build.xml,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- faq-build.xml 31 Dec 2002 17:09:47 -  1.12
  +++ faq-build.xml 10 Jan 2003 15:47:05 -  1.13
  @@ -3,6 +3,78 @@
   
   
   
  +  
  +
  +Why do I get compilation error saying undeclared identifier or class 
undedined?
  +
  +
  +
  +  &XercesCName; &XercesCVersion; now supports C++ Namespace.
  +
  +  If C++ Namespace is ENABLED,
  + users' applications must namespace qualified all the &XercesCName; 
classes/data/variables with
  + "&XercesCNamespace;::" or add the "using namespace 
&XercesCNamespace;;"
  + clause.  Users also need to ensure all forward declarations are properly 
qualified or scope.
  + For example
  +  
  +
  +
  +#include 
  +#include 
  +#include 
  +
  +// indicate using &XercesCName; namespace in general
  +using namespace &XercesCNamespace;;
  +
  +// need to properly scope any forward declarations
  +namespace &XercesCNamespace; {
  +class AttributeList;
  +}
  +
  +// or namespace qualifier the forward declarations
  +class &XercesCNamespace;::ErrorHandler;
  +
  +class MySAXHandlers : public HandlerBase
  +{
  +public:
  +// ---
  +//  Handlers for the SAX DocumentHandler interface
  +// ---
  +void startElement(const XMLCh* const name, AttributeList& attributes);
  +void characters(const XMLCh* const chars, const unsigned int length);
  +:
  +:
  +};
  +
  +
  +  See the Programming Guide 
  + Using C++ Namespace for more details.
  +  
  +
  +
  +  
  +
  +  
  +
  +Why do I get compilation error saying DOMDocument was declared twice using
  +  Microsoft Visual C++.Net?
  +
  +
  +
  +  Your application somehow has picked up the Microsoft SDK header 
Msxml.h
  + which has its own typedef of DOMDocument.   This confuses
  + with the &XercesCName; &XercesCVersion; 
&XercesCNamespace;::DOMDocument
  + and thus lead to the compilation errors.
  +
  +   Qualifier the use of DOMDocument in your application explicitly e.g.
  + XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * 
fDoc;
  + will eliminate these compilation problems.
  +  
  +
  +
  +  
  +
 
   Why do I get Internal Compiler Error when compiling &XercesCName; for a 
64bit target with gcc?
   
  
  
  
  1.11  +114 -50   xml-xerces/c/doc/program-others.xml
  
  Index: program-others.xml
  ===
  RCS file: /home/cvs/xml-xerces/c/doc/program-others.xml,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- program-others.xml6 Jan 2003 21:19:42 -   1.10
  +++ program-others.xml10 Jan 2003 15:47:05 -  1.11
  @@ -10,11 +10,11 @@
 specific capabilities. For example,

   
  -   #if _XERCES_VERSION >= 20304
  - // code specific to Xerces-C++ version 2.3.4
  -   #else
  - // old code here...
  -   #endif
  +#if _XERCES_VERSION >= 20304
  +  // code specific to Xerces-C++ version 2.3.4
  +#else
  +  // old code here...
  +#endif
   
   The minor and revision (patch level) numbers have two digits of 
resolution
  which means that '3' becomes '03' and '4' becomes '04' in this example.
  @@ -237,7 +237,7 @@
   file can create whichever type of message loader it wants to
   use on that platform.  &XercesCName; currently has versions for the in
   memory format, the Win32 resource format, the message
  -catalog format, and ICU message loader. 
  +catalog format, and ICU message loader.
   Some of the platforms can support multiple message
   loaders, in which case a #define token is used to control
   which one is used. You can set this in your build projects to
  @@ -371,65 +371,93 @@
   
   
   
  -&XercesCName; &XercesCVersion; now supports C++ Namespace.   Header
  -   "xercesc/util/XercesDefs.hpp" has defined the following 
macros
  -   so that C++ namespace is used if supported by the corresponding 
compiler.
  -
  -
  -#if defined(XERCES_HAS_CPP_NAMESPACE)
  -#define XERCES_CPP_NAMESPACE_BEGINnamespace &XercesCNSVersion; {
  -#define XERCES_CPP_NAMESPACE_END}
  -#define XERCES_CPP

cvs commit: xml-xerces/c/scripts xerces-c.spec

2003-01-10 Thread tng
tng 2003/01/10 08:13:24

  Removed: c/scripts xerces-c.spec
  Log:
  [Bug 5854] Patches and .spec file for rpm creation of 2.2.0.   Patch from Albert 
Strasheim.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




cvs commit: xml-xerces/c xerces-c.spec

2003-01-10 Thread tng
tng 2003/01/10 08:13:39

  Added:   cxerces-c.spec
  Log:
  [Bug 5854] Patches and .spec file for rpm creation of 2.2.0.   Patch from Albert 
Strasheim.
  
  Revision  ChangesPath
  1.1  xml-xerces/c/xerces-c.spec
  
  Index: xerces-c.spec
  ===
  %define tarversion 2_2_0
  
  # threads
  # values: pthreads, none
  %define threads pthreads
  
  Summary:  Xerces-C++ validating XML parser
  Name: xerces-c
  Version:  2.2.0
  Release:  2
  URL:  http://xml.apache.org/xerces-c/
  Source0:  %{name}-src%{tarversion}.tar.gz
  Copyright:Apache
  Group:Libraries
  BuildRoot:%{_tmppath}/%{name}-root
  Prefix:   /usr
  
  %description
  Xerces-C++ is a validating XML parser written in a portable subset of C++.
  Xerces-C++ makes it easy to give your application the ability to read and
  write XML data. A shared library is provided for parsing, generating,
  manipulating, and validating XML documents.
  
  The parser provides high performance, modularity, and scalability. Source
  code, samples and API documentation are provided with the parser. For
  portability, care has been taken to make minimal use of templates, no RTTI,
  and minimal use of #ifdefs.
  
  %package devel
  Requires: xerces-c = %{version}
  Group:Development/Libraries
  Summary:  Header files for Xerces-C++ validating XML parser
  
  %description devel
  Header files you can use to develop XML applications with Xerces-C++.
  
  Xerces-C++ is a validating XML parser written in a portable subset of C++.
  Xerces-C++ makes it easy to give your application the ability to read and
  write XML data. A shared library is provided for parsing, generating,
  manipulating, and validating XML documents.
  
  %package doc
  Group:Documentation
  Summary:  Documentation for Xerces-C++ validating XML parser
  
  %description doc
  Documentation for Xerces-C++.
  
  Xerces-C++ is a validating XML parser written in a portable subset of C++.
  Xerces-C++ makes it easy to give your application the ability to read and
  write XML data. A shared library is provided for parsing, generating,
  manipulating, and validating XML documents.
  
  %prep
  %setup -q -n %{name}-src%{tarversion}
  
  %build
  export XERCESCROOT=$RPM_BUILD_DIR/%{name}-src%{tarversion}
  cd $XERCESCROOT/src/xercesc
  ./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -r%{threads} -P%{prefix}
  make
  cd $XERCESCROOT/samples
  ./runConfigure -plinux -cgcc -xg++
  make
  
  %install
  export XERCESCROOT=$RPM_BUILD_DIR/%{name}-src%{tarversion}
  cd $XERCESCROOT/src/xercesc
  make PREFIX=$RPM_BUILD_ROOT%{prefix} install
  mkdir -p $RPM_BUILD_ROOT%{prefix}/bin
  #we don't want obj directory
  install `find $XERCESCROOT/bin -type f -maxdepth 1` $RPM_BUILD_ROOT%{prefix}/bin
  mkdir -p $RPM_BUILD_ROOT%{prefix}/share/%{name}
  cp -a $XERCESCROOT/samples $RPM_BUILD_ROOT%{prefix}/share/%{name}
  
  %clean
  rm -rf $RPM_BUILD_ROOT
  
  %post -p /sbin/ldconfig
  
  %postun -p /sbin/ldconfig
  
  %files
  %defattr(755,root,root)
  %{prefix}/bin/*
  %{prefix}/lib/libxerces-c.so*
  
  %files devel
  %defattr(-,root,root)
  %{prefix}/include/xercesc
  %{prefix}/share/%{name}/samples
  
  %files doc
  %defattr(-,root,root)
  %doc LICENSE.txt STATUS credits.txt Readme.html doc/
  
  %changelog
  * Fri Dec 13 2002 Albert Strasheim <[EMAIL PROTECTED]>
  - added seperate doc package
  - major cleanups
  
  * Tue Sep 03 2002  <[EMAIL PROTECTED]>
  - fixed missing DESTDIR in Makefile.util.submodule
  
  * Mon Sep 02 2002  <[EMAIL PROTECTED]>
  - Initial build.
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




cvs commit: xml-xerces/c/doc build-misc.xml build.xml

2003-01-10 Thread tng
tng 2003/01/10 08:30:39

  Modified:c/docbuild-misc.xml build.xml
  Log:
  [Bug 5854] Patches and .spec file for rpm creation of 2.2.0.   Patch from Albert 
Strasheim.
  
  Revision  ChangesPath
  1.16  +15 -0 xml-xerces/c/doc/build-misc.xml
  
  Index: build-misc.xml
  ===
  RCS file: /home/cvs/xml-xerces/c/doc/build-misc.xml,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- build-misc.xml31 Dec 2002 17:09:47 -  1.15
  +++ build-misc.xml10 Jan 2003 16:30:37 -  1.16
  @@ -134,6 +134,21 @@
   
   
   
  +
  +
  +&XercesCName; may be built from the distributed source archive directly 
on Linux
  +using RPM.  For example: 
  +
  +rpm -ta &XercesCSrcInstallDir;.tar.gz (rpm 4.0 and older)
  +or
  +rpmbuild -ta &XercesCSrcInstallDir;.tar.gz (rpm 4.1 and later; ships with RedHat 8)
  +
  +The &XercesCName; RPM specificattion can be found in
  +   &XercesCSrcInstallDir;/xerces-c.spec.
  +Please refer to the http://www.rpm.org/RPM-HOWTO";>RPM-HOWTO,
  +   for more RPM related information.
  +
  +
   
   
   To build the COM module for use with XML on Windows platforms, you
  
  
  
  1.26  +1 -0  xml-xerces/c/doc/build.xml
  
  Index: build.xml
  ===
  RCS file: /home/cvs/xml-xerces/c/doc/build.xml,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- build.xml 2 Dec 2002 18:47:11 -   1.25
  +++ build.xml 10 Jan 2003 16:30:38 -  1.26
  @@ -30,6 +30,7 @@
 or jump directly to:
   
  Building &XercesCName; with 
ICU
  +   Building &XercesCName; using RPM 
on Linux
  Building &XercesCName; COM Wrapper 
on Windows
  Building User 
Documentation
  I wish to port 
&XercesCProjectName; to my favourite platform. Do you have any suggestions?
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




cvs commit: xml-xerces/c/src/xercesc/validators/datatype UnionDatatypeValidator.hpp

2003-01-10 Thread tng
tng 2003/01/10 08:48:47

  Modified:c/src/xercesc/validators/datatype UnionDatatypeValidator.hpp
  Log:
  [Bug 14912] crashes inside UnionDatatypeValidator::isSubstitutableBy.   Patch from 
Alberto Massari.
  
  Revision  ChangesPath
  1.5   +10 -6 
xml-xerces/c/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp
  
  Index: UnionDatatypeValidator.hpp
  ===
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- UnionDatatypeValidator.hpp18 Dec 2002 14:17:55 -  1.4
  +++ UnionDatatypeValidator.hpp10 Jan 2003 16:48:47 -  1.5
  @@ -57,6 +57,9 @@
   /*
* $Id$
* $Log$
  + * Revision 1.5  2003/01/10 16:48:47  tng
  + * [Bug 14912] crashes inside UnionDatatypeValidator::isSubstitutableBy.   Patch 
from Alberto Massari.
  + *
* Revision 1.4  2002/12/18 14:17:55  gareth
* Fix to bug #13438. When you eant a vector that calls delete[] on its members you 
should use RefArrayVectorOf.
*
  @@ -325,14 +328,15 @@
   return true;
   }
   
  -unsigned int memberSize = fMemberTypeValidators->size();
  +if (fMemberTypeValidators) {
  +unsigned int memberSize = fMemberTypeValidators->size();
   
  -for (unsigned int i=0; i < memberSize; i++) {
  -if (fMemberTypeValidators->elementAt(i)->isSubstitutableBy(toCheck)) {
  -return true;
  +for (unsigned int i=0; i < memberSize; i++) {
  +if (fMemberTypeValidators->elementAt(i)->isSubstitutableBy(toCheck)) {
  +return true;
  +}
   }
   }
  -
   return false;
   }
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




cvs commit: xml-xerces/c/samples Makefile.incl

2003-01-10 Thread tng
tng 2003/01/10 09:32:51

  Modified:c/samples Makefile.incl
  Log:
  [Bug 14545] samples/Makefile.incl has bad -L for linux.
  
  Revision  ChangesPath
  1.53  +2 -2  xml-xerces/c/samples/Makefile.incl
  
  Index: Makefile.incl
  ===
  RCS file: /home/cvs/xml-xerces/c/samples/Makefile.incl,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- Makefile.incl 30 Dec 2002 18:05:50 -  1.52
  +++ Makefile.incl 10 Jan 2003 17:32:50 -  1.53
  @@ -194,7 +194,7 @@
   CMP= -c ${CXXFLAGS}
   CC= ${COMPILER} -c -D${PLATFORM} -D_REENTRANT -fpic
   LINK =  ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS}
  -PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib
  +PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib
   EXTRA_LINK_OPTIONS=-lc ${EXTRA_LIBS}
   SHLIBSUFFIX=.so
   endif
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




cvs commit: xml-xerces/c/tests Makefile.incl

2003-01-10 Thread tng
tng 2003/01/10 09:33:00

  Modified:c/tests  Makefile.incl
  Log:
  [Bug 14545] samples/Makefile.incl has bad -L for linux.
  
  Revision  ChangesPath
  1.35  +2 -2  xml-xerces/c/tests/Makefile.incl
  
  Index: Makefile.incl
  ===
  RCS file: /home/cvs/xml-xerces/c/tests/Makefile.incl,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- Makefile.incl 30 Dec 2002 18:05:58 -  1.34
  +++ Makefile.incl 10 Jan 2003 17:33:00 -  1.35
  @@ -193,7 +193,7 @@
   CMP= -c ${CXXFLAGS}
   CC= ${COMPILER} -c -D${PLATFORM} -D_REENTRANT -fpic
   LINK =  ${COMPILER} -D${PLATFORM} -fpic ${LDFLAGS}
  -PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib
  +PLATFORM_LIB_LINK_OPTIONS=-L/usr/local/lib
   EXTRA_LINK_OPTIONS=-lc ${EXTRA_LIBS}
   SHLIBSUFFIX=.so
   endif
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




cvs commit: xml-xerces/c/src/xercesc/util/Transcoders/Iconv IconvTransService.cpp

2003-01-10 Thread tng
tng 2003/01/10 10:43:31

  Modified:c/src/xercesc/util/Transcoders/Iconv IconvTransService.cpp
  Log:
  [Bug 13909] Use of non standard mbstowcs feature.
  
  Revision  ChangesPath
  1.10  +8 -4  
xml-xerces/c/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp
  
  Index: IconvTransService.cpp
  ===
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- IconvTransService.cpp 6 Jan 2003 21:48:05 -   1.9
  +++ IconvTransService.cpp 10 Jan 2003 18:43:31 -  1.10
  @@ -257,11 +257,15 @@
   if (!srcText)
   return 0;
   
  -const unsigned int retVal = ::mbstowcs(NULL, srcText, 0);
  +unsigned charLen = ::mblen(srcText, MB_CUR_MAX);
  +if (charLen == -1)
  +return 0;
  +else if (charLen != 0)
  +charLen = strlen(srcText)/charLen;
   
  -if (retVal == ~0)
  +if (charLen == -1)
   return 0;
  -return retVal;
  +return charLen;
   }
   
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




cvs commit: xml-xerces/c/src/xercesc/util/Transcoders/Iconv390 Iconv390TransService.cpp

2003-01-10 Thread tng
tng 2003/01/10 10:43:51

  Modified:c/src/xercesc/util/Transcoders/Iconv390
Iconv390TransService.cpp
  Log:
  [Bug 13909] Use of non standard mbstowcs feature.
  
  Revision  ChangesPath
  1.5   +8 -23 
xml-xerces/c/src/xercesc/util/Transcoders/Iconv390/Iconv390TransService.cpp
  
  Index: Iconv390TransService.cpp
  ===
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Transcoders/Iconv390/Iconv390TransService.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Iconv390TransService.cpp  6 Jan 2003 21:46:08 -   1.4
  +++ Iconv390TransService.cpp  10 Jan 2003 18:43:51 -  1.5
  @@ -350,33 +350,18 @@
   // ---
   unsigned int Iconv390LCPTranscoder::calcRequiredSize(const char* const srcText)
   {
  -unsigned int retVal;
  -
   if (!srcText)
   return 0;
   
  -#ifdef OS390BATCH
  -//
  -// Cannot use mbstowcs in a non-POSIX environment(???).
  -//
  -if (!__isPosixOn()) {
  -const unsigned charLen = mblen(srcText, MB_CUR_MAX);
  -if (charLen == -1)
  -return 0;
  -else {
  -if (charLen != 0)
  -retVal = strlen(srcText)/charLen;
  -else
  -retVal = charLen;
  -}
  -}
  -else
  -#endif
  -retVal = ::mbstowcs(NULL, srcText, 0);
  +unsigned charLen = ::mblen(srcText, MB_CUR_MAX);
  +if (charLen == -1)
  +return 0;
  +else if (charLen != 0)
  +charLen = strlen(srcText)/charLen;
   
  -if (retVal == -1)
  +if (charLen == -1)
   return 0;
  -return retVal;
  +return charLen;
   }
   
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




cvs commit: xml-xerces/c/src/xercesc/util/Transcoders/Win32 Win32TransService.cpp

2003-01-10 Thread tng
tng 2003/01/10 10:44:29

  Modified:c/src/xercesc/util/Transcoders/Win32 Win32TransService.cpp
  Log:
  [Bug 13909] Use of non standard mbstowcs feature.
  
  Revision  ChangesPath
  1.6   +63 -44
xml-xerces/c/src/xercesc/util/Transcoders/Win32/Win32TransService.cpp
  
  Index: Win32TransService.cpp
  ===
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/Transcoders/Win32/Win32TransService.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Win32TransService.cpp 4 Nov 2002 15:14:34 -   1.5
  +++ Win32TransService.cpp 10 Jan 2003 18:44:29 -  1.6
  @@ -165,16 +165,21 @@
   {
   // Transcode the name to Unicode and store that copy
   const unsigned int srcLen = strlen(encodingName);
  -const unsigned int targetLen = ::mbstowcs(0, encodingName, srcLen);
  -fEncodingName = new XMLCh[targetLen + 1];
  -::mbstowcs(fEncodingName, encodingName, srcLen);
  -fEncodingName[targetLen] = 0;
  +const unsigned charLen = ::mblen(encodingName, MB_CUR_MAX);
  +if (charLen != -1) {
  +const unsigned int targetLen = srcLen/charLen;
   
  -//
  -//  Upper case it because we are using a hash table and need to be
  -//  sure that we find all case combinations.
  -//
  -_wcsupr(fEncodingName);
  +
  +fEncodingName = new XMLCh[targetLen + 1];
  +::mbstowcs(fEncodingName, encodingName, srcLen);
  +fEncodingName[targetLen] = 0;
  +
  +//
  +//  Upper case it because we are using a hash table and need to be
  +//  sure that we find all case combinations.
  +//
  +_wcsupr(fEncodingName);
  +  }
   }
   
   CPMapEntry::CPMapEntry( const   XMLCh* constencodingName
  @@ -397,37 +402,42 @@
   if (isAlias(encodingKey, aliasBuf, nameBufSz))
   {
   const unsigned int srcLen = strlen(aliasBuf);
  -const unsigned int targetLen = ::mbstowcs(0, aliasBuf, srcLen);
  -XMLCh* uniAlias = new XMLCh[targetLen + 1];
  -::mbstowcs(uniAlias, aliasBuf, srcLen);
  -uniAlias[targetLen] = 0;
  -_wcsupr(uniAlias);
  -
  -// Look up the alias name
  -CPMapEntry* aliasedEntry = fCPMap->get(uniAlias);
  -if (aliasedEntry)
  -{
  -const unsigned int srcLen = strlen(nameBuf);
  -const unsigned int targetLen = ::mbstowcs(0, nameBuf, srcLen);
  -XMLCh* uniName = new XMLCh[targetLen + 1];
  -::mbstowcs(uniName, nameBuf, srcLen);
  -uniName[targetLen] = 0;
  -_wcsupr(uniName);
  -
  -//
  -//  If the name is actually different, then take it.
  -//  Otherwise, don't take it. They map aliases that are
  -//  just different case.
  -//
  -if (::wcscmp(uniName, aliasedEntry->getEncodingName()))
  +const unsigned charLen = ::mblen(aliasBuf, MB_CUR_MAX);
  +
  +if (charLen != -1) {
  +const unsigned int targetLen = srcLen/charLen;
  +
  +XMLCh* uniAlias = new XMLCh[targetLen + 1];
  +::mbstowcs(uniAlias, aliasBuf, srcLen);
  +uniAlias[targetLen] = 0;
  +_wcsupr(uniAlias);
  +
  +// Look up the alias name
  +CPMapEntry* aliasedEntry = fCPMap->get(uniAlias);
  +if (aliasedEntry)
   {
  -CPMapEntry* newEntry = new CPMapEntry(uniName, 
aliasedEntry->getWinCP(), aliasedEntry->getIEEncoding());
  -fCPMap->put((void*)newEntry->getEncodingName(), newEntry);
  -}
  +const unsigned int srcLen = strlen(nameBuf);
  +const unsigned int targetLen = ::mbstowcs(0, nameBuf, srcLen);
  +XMLCh* uniName = new XMLCh[targetLen + 1];
  +::mbstowcs(uniName, nameBuf, srcLen);
  +uniName[targetLen] = 0;
  +_wcsupr(uniName);
  +
  +//
  +//  If the name is actually different, then take it.
  +//  Otherwise, don't take it. They map aliases that are
  +//  just different case.
  +//
  +if (::wcscmp(uniName, aliasedEntry->getEncodingName()))
  +{
  +CPMapEntry* newEntry = new CPMapEntry(uniName, 
aliasedEntry->getWinCP(), aliasedEntry->getIEEncoding());
  +fCPMap->put((void*)newEntry->getEncodingName(), newEntry);
  +}
   
  -delete [] uniName;
  +delete [] uniName;
  +}
  +delete [] uniAlias;

cvs commit: xml-xerces/java/src/org/apache/xerces/jaxp SAXParserImpl.java DocumentBuilderImpl.java

2003-01-10 Thread neilg
neilg   2003/01/10 16:20:51

  Modified:java/src/org/apache/xerces/jaxp SAXParserImpl.java
DocumentBuilderImpl.java
  Log:
  fix JAXP 1.2 limitation where DTD errors would be emitted if a DTD were present, 
even if the schemaLanguage property was set appropriately.  Now no errors will be 
emitted under this condition.
  
  Revision  ChangesPath
  1.18  +4 -1  xml-xerces/java/src/org/apache/xerces/jaxp/SAXParserImpl.java
  
  Index: SAXParserImpl.java
  ===
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/jaxp/SAXParserImpl.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- SAXParserImpl.java9 Aug 2002 15:18:19 -   1.17
  +++ SAXParserImpl.java11 Jan 2003 00:20:50 -  1.18
  @@ -193,6 +193,9 @@
   xmlReader.setFeature(Constants.XERCES_FEATURE_PREFIX +
Constants.SCHEMA_VALIDATION_FEATURE,
true);
  +// this will allow the parser not to emit DTD-related
  +// errors, as the spec demands
  +xmlReader.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
   } else if (value == null) {
   schemaLanguage = null;
   xmlReader.setFeature(Constants.XERCES_FEATURE_PREFIX +
  
  
  
  1.19  +4 -1  
xml-xerces/java/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java
  
  Index: DocumentBuilderImpl.java
  ===
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- DocumentBuilderImpl.java  9 Aug 2002 15:18:19 -   1.18
  +++ DocumentBuilderImpl.java  11 Jan 2003 00:20:50 -  1.19
  @@ -163,6 +163,9 @@
   domParser.setFeature(
   Constants.XERCES_FEATURE_PREFIX +
   Constants.SCHEMA_VALIDATION_FEATURE, true);
  +// this should allow us not to emit DTD errors, as expected 
by the 
  +// spec when schema validation is enabled
  +domParser.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
   }
   } else {
   // Let Xerces code handle the property
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]