[jira] Closed: (XERCESC-1898) LocalFileFormatTarget dtor may throw an exception

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1898?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1898.


Resolution: Fixed

The fix is in SVN.

 LocalFileFormatTarget dtor may throw an exception
 -

 Key: XERCESC-1898
 URL: https://issues.apache.org/jira/browse/XERCESC-1898
 Project: Xerces-C++
  Issue Type: Bug
  Components: Miscellaneous
Affects Versions: 3.0.0, 3.0.1
Reporter: peter
Assignee: Boris Kolpackov
 Fix For: 3.1.0


 The destructor of LocalFileFormatTarget is calling flushBuffer() which in 
 turn may throw exceptions. Throwing exceptions in dtor however is dangerous 
 since it may lead to program termination if the exception is thrown during 
 stack unwind. 
 Example: DOMLSSerializer::writeToURI() is causing imediate program 
 termination if there is no space left on disk. The reason is an exception 
 thrown in DOMLSSerializer::write(). During stack unwind the dtor of 
 LocalFileFormatTarget  is called throwing another exception which is illegal 
 and leads to program termination. 
 Example stacktrace from real world application:
msvcr90d.dll!__NMSG_WRITE()  + 0x75 Bytes   
  msvcr90d.dll!_abort()  + 0x2d Bytes   
  msvcr90d.dll!terminate()  + 0x6e Bytes   
  msvcr90d.dll!___FrameUnwindFilter()  + 0x40 Bytes   
  msvcr90d.dll!___FrameUnwindToState()  + 0x106 Bytes   
  msvcr90d.d...@_eh4_callfilterfunc@8()  + 0x12 Bytes   
  ntdll.dll!executehandl...@20()  + 0x26 Bytes   
  ntdll.dll!executehand...@20()  + 0x24 Bytes   
  ntdll.dll!_kiuserexceptiondispatc...@8()  + 0xf Bytes   
  kernel32.dll!_raiseexcept...@16()  + 0x59 Bytes   
  msvcr90d.dll!__cxxthrowexcept...@8()  + 0x52 Bytes   
  xerces-c_3_0D.dll!xercesc_3_0::WindowsFileMgr::fileWrite(void * 
 f=0x0900, unsigned long byteCount=1022, const unsigned char * 
 buffer=0x115e5d18, xercesc_3_0::MemoryManager * const manager=0x0498f758)  
 Zeile 314C++
  xerces-c_3_0D.dll!xercesc_3_0::XMLPlatformUtils::writeBufferToFile(void 
 * const theFile=0x0900, unsigned long toWrite=1022, const unsigned char * 
 const toFlush=0x115e5d18, xercesc_3_0::MemoryManager * const 
 memmgr=0x0498f758)  Zeile 608C++
  xerces-c_3_0D.dll!xercesc_3_0::LocalFileFormatTarget::flushBuffer()  
 Zeile 120 + 0x21 BytesC++
 
  xerces-c_3_0D.dll!xercesc_3_0::LocalFileFormatTarget::~LocalFileFormatTarget()
Zeile 83C++
  xerces-c_3_0D.dll!xercesc_3_0::LocalFileFormatTarget::`vector deleting 
 destructor'()  + 0x4d BytesC++
  
 xerces-c_3_0D.dll!xercesc_3_0::Janitorxercesc_3_0::XMLFormatTarget::reset(xercesc_3_0::XMLFormatTarget
  * p=0x)  Zeile 90 + 0x22 BytesC++
  
 xerces-c_3_0D.dll!xercesc_3_0::Janitorxercesc_3_0::XMLFormatTarget::~Janitorxercesc_3_0::XMLFormatTarget()
   Zeile 44C++
  msvcr90d.dll!__callsettingfr...@12()  + 0x26 Bytes   
  msvcr90d.dll!___FrameUnwindToState()  + 0xf4 Bytes   
  msvcr90d.dll!___InternalCxxFrameHandler()  + 0x7f Bytes   
  msvcr90d.dll!___CxxFrameHandler3()  + 0x2c Bytes   
  ntdll.dll!executehandl...@20()  + 0x26 Bytes   
  ntdll.dll!executehand...@20()  + 0x24 Bytes   
  msvcr90d.dll!_UnwindNestedFrames()  + 0x2f Bytes   
  msvcr90d.dll!___FrameUnwindToState()  + 0x1cf Bytes   
  msvcr90d.dll!___InternalCxxFrameHandler()  + 0x48a Bytes   
  msvcr90d.dll!___InternalCxxFrameHandler()  + 0x147 Bytes   
  msvcr90d.dll!___CxxFrameHandler3()  + 0x2c Bytes   
  ntdll.dll!executehandl...@20()  + 0x26 Bytes   
  ntdll.dll!executehand...@20()  + 0x24 Bytes   
  ntdll.dll!_kiuserexceptiondispatc...@8()  + 0xf Bytes   
  kernel32.dll!_raiseexcept...@16()  + 0x59 Bytes   
  msvcr90d.dll!__cxxthrowexcept...@8()  + 0x52 Bytes   
  xerces-c_3_0D.dll!xercesc_3_0::WindowsFileMgr::fileWrite(void * 
 f=0x0900, unsigned long byteCount=1022, const unsigned char * 
 buffer=0x115e5d18, xercesc_3_0::MemoryManager * const manager=0x0498f758)  
 Zeile 314C++
  xerces-c_3_0D.dll!xercesc_3_0::XMLPlatformUtils::writeBufferToFile(void 
 * const theFile=0x0900, unsigned long toWrite=1022, const unsigned char * 
 const toFlush=0x115e5d18, xercesc_3_0::MemoryManager * const 
 memmgr=0x0498f758)  Zeile 608C++
  xerces-c_3_0D.dll!xercesc_3_0::LocalFileFormatTarget::flushBuffer()  
 Zeile 120 + 0x21 BytesC++
  xerces-c_3_0D.dll!xercesc_3_0::LocalFileFormatTarget::flush()  Zeile 92  
   C++
  xerces-c_3_0D.dll!xercesc_3_0::DOMLSSerializerImpl::write(const 
 xercesc_3_0::DOMNode * nodeToWrite=0x11776040, xercesc_3_0::DOMLSOutput * 
 const destination=0x1909f76c)  Zeile 542C++
  xerces-c_3_0D.dll!xercesc_3_0::DOMLSSerializerImpl::writeToURI(const 
 xercesc_3_0::DOMNode * nodeToWrite=0x11776040, const 

[jira] Closed: (XERCESC-1337) DOMMemTest fails with Segmentation violation(xserces1.7 + ICU transcode + windows2000)

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1337.


   Resolution: Fixed
Fix Version/s: 3.0.1

Assuming fixed in the latest release.

 DOMMemTest  fails with  Segmentation violation(xserces1.7 + ICU transcode + 
 windows2000)
 

 Key: XERCESC-1337
 URL: https://issues.apache.org/jira/browse/XERCESC-1337
 Project: Xerces-C++
  Issue Type: Bug
  Components: Utilities
Affects Versions: 1.7.0
 Environment: windows2000 + xseces 1.7
Reporter: Leon Zhang
Priority: Critical
 Fix For: 3.0.1

 Attachments: DOMMemTest.cpp


 When I run DOMMemTest testcase after build xerces with ICU trascode option, 
 DOMMemTest  always fails with  Segmentation violation.  I am not sure this is 
 a DOMString bug or ICUTransService.cpp bug. But it seesm that this is not a 
 DOMString bug, since after build serces with WIN32 transcode.  It seems that 
 xseces 2.5 have the same bug, so other guys have to build xerces with WIN32 
 transcode.  I need your help.
 (You some products are embeded in xerces). Thanks a lot!

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-1205) primary document entity could not be opened - on Win98

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1205?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1205.


   Resolution: Fixed
Fix Version/s: 3.0.1

Win98 is no longer supported.

 primary document entity could not be opened - on Win98
 --

 Key: XERCESC-1205
 URL: https://issues.apache.org/jira/browse/XERCESC-1205
 Project: Xerces-C++
  Issue Type: Bug
  Components: Utilities
Affects Versions: 2.1.0, 2.4.0, 2.5.0
 Environment: Together with Xalan. I have had the bug on Win98 (1st 
 and 2nd edition). Reading the code I think Win95 and WinME may have the same 
 problem.
Reporter: Florian Nowotny
 Fix For: 3.0.1


 When I use an unc path as the input parameter of the constructor of Xalan's 
 XSLTInputSource( const char* )
 on Win98 systems Xerces raises the error:
 The primary document entitiy could not be opened. 
 Id=\\server\shared\..path-to-xml-file
 I traced through Xerces' code an found that
 - the constructor of Xerces' InputSource( const XMLCh* const SystemId, 
 MemoryManager*)  is called internally and the systemId is 
 file:/server/shared/...
 - later in Win32PlatformUtils.cpp the Windows API method CreateFileA is 
 called and tmpName is //server/shared/...
   BUT: CreateFileA can't open an UNC-Path with forward slashes on both 
 Win98-PCs that I have tested (Win98 1st and 2nd Edition).
 It's unfriendly that the error message reports the file-to-open-path with 
 back slashes?
 I fixed the problem by patching 
 xerces/src/xercesc/util/Platforms/Win32/Win32PlatformUtils.cpp (Xerces 
 version 2.5.0) in method
 openFile(const XMLCh* const fileName, MemoryManager* const manager). 
 Here is my code beginning with line 326:
 else
 {
 //
 //  We are Win 95 / 98.  Take the Unicode file name back to (char *)
 //so that we can open it.
 //
 char* tmpName = XMLString::transcode(nameToOpen, manager);
   
   //
   // Bugfix: 
 // I'm replacing all forward slashes with backward slashes
   //
   int len = strlen(tmpName);
   for ( int i = 0; i  len; ++i )
   {
   if ( tmpName[i] == '/' )
   tmpName[i] = '\\';
   }
   
 retVal = ::CreateFileA
 (
 tmpName
 , GENERIC_READ
 , FILE_SHARE_READ
 , 0
 , OPEN_EXISTING
 , FILE_FLAG_SEQUENTIAL_SCAN
 , 0
 );
 manager-deallocate(tmpName);//delete [] tmpName;
 }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-1127) ABW: Array bounds write xercesc_2_4::HashBase::HashBase #Nvariant 1() [XMLString.hpp:1612]

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1127?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1127.


   Resolution: Fixed
Fix Version/s: 3.0.1
 Assignee: (was: Xerces-C Developers Mailing List)

The latest releases has been checked extensively with valgrind so I assume this 
has been fixed.

 ABW: Array bounds write xercesc_2_4::HashBase::HashBase #Nvariant 1() 
 [XMLString.hpp:1612]
 --

 Key: XERCESC-1127
 URL: https://issues.apache.org/jira/browse/XERCESC-1127
 Project: Xerces-C++
  Issue Type: Bug
  Components: Utilities
Affects Versions: 2.4.0
 Environment: Operating System: Solaris
 Platform: Other
Reporter: Greg Franks
 Fix For: 3.0.1

 Attachments: bugzilla


 This error is popping up during object allocation.  It may be that the xerces
 memory allocation is confusing purify, in which case, this is a non problem. 
 The stack trace is attached.
 ABWArray bounds write  CORRUPTING
  An ABW message indicates that your program is about to write
  a value to before the beginning or after the end of an allo-
  cated block.
  Common causes include:
o  making an array too small (e.g. failing to account  for
   the terminating NULL in a string);
o  forgetting to multiply by sizeof(type) when  allocating
   for an array of objects;
o  using an array index too large or negative;
o  failing to NULL terminate a string; or
o  being off-by-one in copying  elements  up  or  down  an
   array.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-1105) transcode function on AIX returns incorrect value

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1105.


Resolution: Invalid
  Assignee: (was: Xerces-C Developers Mailing List)

No reply from the reporter. Assuming invalid.

 transcode function on AIX returns incorrect value
 -

 Key: XERCESC-1105
 URL: https://issues.apache.org/jira/browse/XERCESC-1105
 Project: Xerces-C++
  Issue Type: Bug
  Components: Utilities
Affects Versions: 2.2.0
 Environment: Operating System: AIX
 Platform: Other
Reporter: Karen Bradshaw

 XMLString::transcode always returns 1 regardless of the provided buffer size.
 // const char * str;
 // XMLCh * buffer;
 // size_t buffer_size;
 if(XMLString::transcode(str, buffer, buffer_size - 4))
 {
   return buffer;
 }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-777) XMLPlatformUtils::Initialize() fails to execute any code when called from an shared object

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-777.
---

Resolution: Invalid
  Assignee: (was: Xerces-C Developers Mailing List)

I am pretty sure this is a compiler issue.

 XMLPlatformUtils::Initialize() fails to execute any code when called from an 
 shared object
 --

 Key: XERCESC-777
 URL: https://issues.apache.org/jira/browse/XERCESC-777
 Project: Xerces-C++
  Issue Type: Bug
  Components: Utilities
Affects Versions: 2.1.0
 Environment: Operating System: Solaris
 Platform: Sun
Reporter: mstorrs

 I have compiled Xerces2.1 (stable) on Solaris 2.8 using g++ 2.95.3.  The 
 samples execute properly.  I am linking the xerces.so to another shared 
 object 
 I am creating.  This shared object is loaded by an application at run time, 
 when I call XMLPlatformUtils::Initialize() from the shared object the code 
 executes the call, but never actually performs any code within that function 
 - 
 I know this because I have editted the Initialize() function and outputed a 
 debug statement to a file (this works successfully during execution of one of 
 the samples).  After Initialize returns, the code continues and then once the 
 code tries to execute getDOMImplementation(), the shared object core dumps, 
 because the global mutex lock is null, since the new XMLMutex statement is 
 never executed within Initialize().  I placed debug statements in this Xerces 
 code as well, and know that the function executes, and crashes once the code 
 tries to lock to set the cleanupfunction.
 Is there any reason that Initialize wouldn't execute the code??  I have 
 attached the shared object code as well as the Makefile.  I also tried with 
 c++, and that failed the exact same way.
 Here is the shared object code:
 extern C unsigned int OBLIX_DLLEXPORT Crap(const char *eventName, ObPPPData 
 *data)
 {
 int iStatus = STATUS_PPP_OK;// Return code
 AbstractDOMParser::ValSchemes valScheme = AbstractDOMParser::Val_Auto;
 bool   doNamespaces   = false;
 bool   doSchema   = false;
 bool   schemaFullChecking = false;
 bool   errorOccurred = false;
 try
 {
 FILE *fp = fopen(/opt/netpoint/custom/xerces.txt, w);
 fprintf(fp, Before Initialize\n);
 fclose(fp);
 XMLPlatformUtils::Initialize();
 fp = fopen(/opt/netpoint/custom/xerces.txt, a);
 fprintf(fp, After Initialize\n);
 fclose(fp);
 }
 catch (const XMLException toCatch)
 {
 data-SetResultString(NonInternalUser: XML Exception occured);
 return STATUS_PPP_ABORT;
 }
 catch (...)
{
 data-SetResultString(S Happens);
 return STATUS_PPP_ABORT;
 }
 try
 {
 // Instantiate the DOM parser.
 static const XMLCh gLS[] = { chLatin_L, chLatin_S, chNull };
 DOMImplementation *impl = 
 DOMImplementationRegistry::getDOMImplementation(gLS);
 DOMBuilder*parser = ((DOMImplementationLS*)impl)-
 createDOMBuilder(DOMImplementationLS:
 :MODE_SYNCHRONOUS, 0);
 parser-setFeature(XMLUni::fgDOMNamespaces, doNamespaces);
 parser-setFeature(XMLUni::fgXercesSchema, doSchema);
 parser-setFeature(XMLUni::fgXercesSchemaFullChecking, 
 schemaFullChecking);
 if (valScheme == AbstractDOMParser::Val_Auto)
 {
 parser-setFeature(XMLUni::fgDOMValidateIfSchema, true);
 }
 else if (valScheme == AbstractDOMParser::Val_Never)
 {
 parser-setFeature(XMLUni::fgDOMValidation, false);
 }
 else if (valScheme == AbstractDOMParser::Val_Always)
 {
  parser-setFeature(XMLUni::fgDOMValidation, true);
 etc.
 Makefile
 --
 CC   = g++
 SHARED_LIB_EXT   = so
 CFLAGS = -c -DSOLARIS -D_REENTRANT -fpic -Wall -g -O2 -I. 
 -I/usr/local/include -
 I/opt/netpoint/identity
 /oblix/include/ppp -I/opt/netpoint/custom/xerces-c-src2_1_0/include -
 I/opt/netpoint/custom/ldap/include
 LOADFLAG = -DSOLARIS -fpic -mt -shared -L/usr/lib -L/usr/local/lib -
 L/opt/netpoint/custom/ldap/lib -L/o
 pt/netpoint/custom/xerces-c-src2_1_0/lib -lxerces-c -lldap50 -lpthread
 all : fed.$(SHARED_LIB_EXT)
 fed.$(SHARED_LIB_EXT) : common.o FedHandler.o InternalUser.o 
 NonInternalUser.o 
 IntUserToServices.o test
 .o
 $(CC) $(LOADFLAG) -o $@ common.o FedHandler.o InternalUser.o 
 NonInternalUser.o IntUserToServices.o
 test.o
 common.o : common.cpp
 $(CC) $(CFLAGS) common.cpp -o $@

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Closed: (XERCESC-501) Xerces hangs in ThrowXML

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-501?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-501.
---

Resolution: Invalid
  Assignee: (was: Xerces-C Developers Mailing List)

Can you try to reproduce this problem with the latest release? If it is still 
there, can you reopen this bug and provide a test case?

 Xerces hangs in ThrowXML
 

 Key: XERCESC-501
 URL: https://issues.apache.org/jira/browse/XERCESC-501
 Project: Xerces-C++
  Issue Type: Bug
  Components: Utilities
Affects Versions: 1.7.0
 Environment: Operating System: Windows NT/2K
 Platform: PC
Reporter: Mikael Widenfalk

 I have several threads (CWinThread) that use Xerces. Sooner or later one 
 specific thread gets stuck in ThrowXML. The exact point varies depending on 
 what 
 I send in systemID. This is one example:
 void XMLURL::setURL(const XMLCh* constbaseURL
   , const XMLCh* constrelativeURL)
 {
 cleanup();
 // Parse our URL string
 parse(relativeURL);
   //
   //  If its relative and the base is non-null and non-empty, then
   //  parse the base URL string and conglomerate them.
   //
   if (isRelative()  baseURL)
   {
   if (*baseURL)
   {
   XMLURL basePart(baseURL);
   if (!conglomerateWithBase(basePart, false))
   {
   cleanup();
  ThrowXML(MalformedURLException, 
 XMLExcepts::URL_RelativeBaseURL);
   }
   }
   }
 }
 [ baseURL = Client relativeURL = Information-1-0.dtd ]
 The calltree proceeds with:
 msvcrtd!__cxxthrowexcept...@8
 KERNEL32!77e989d1()
 so there are no more clues there I guess. The CPU is at 0% and it appears as 
 though everything is stuck in some mutex.
 I've made a (large) test program that spawns 50 threads and parses 50 DTD'd 
 XML 
 documents in each and it also occasionally gets stucks.
 Brief facts of the case are:
 * Single thread single point of initialization.
 * Uses SAX.
 * New parser, etc. for each document read.
 * Uses MemBufInputSource.
 * Uses MS VS6 sp5.
 Sorry if this provides little clue as to what goes on. Please contact me for 
 more specfic information, if needed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-481) pthread_mutex_lock is slow on solaris

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-481.
---

Resolution: Invalid
  Assignee: (was: Xerces-C Developers Mailing List)

I believe this has been addressed in Solaris.

 pthread_mutex_lock is slow on solaris
 -

 Key: XERCESC-481
 URL: https://issues.apache.org/jira/browse/XERCESC-481
 Project: Xerces-C++
  Issue Type: Bug
  Components: Utilities
Affects Versions: 1.7.0
 Environment: Operating System: Solaris
 Platform: Sun
Reporter: Case Larsen

 Since this is used a lot in the string pool, it impacts performance.  here is 
 a fix which we use and it works.
 // this returns old value, so we need to add or subtract value to get true 
 value
 inline int ink_atomic_increment(void *mem, int value)
 {
 volatile int * memp = (int *)mem;
 for (;;) {
   int current = *memp;
   int new_value = current+value;
   asm(cas %2,%3,%0 : =r (new_value) : 0 (new_value), m (*memp), 
   r (current));
   if (new_value == current) return current;
 }
 }
 int XMLPlatformUtils::atomicIncrement(int location)
 {
return ink_atomic_increment(location,1) + 1;
 }
 int XMLPlatformUtils::atomicDecrement(int location)
 {
 return ink_atomic_increment(location,-1) - 1;
 }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-1455) Template ValueVectorOf does not call destructors for removing objects. A memory leak could result from this.

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1455?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1455.


   Resolution: Fixed
Fix Version/s: 3.0.1

I see that there is now the callDestructor flag in ValueVectorOf. So I assume 
this has been fixed (in an ugly way).

 Template ValueVectorOf does not call destructors for removing objects. A 
 memory leak could result from this.
 

 Key: XERCESC-1455
 URL: https://issues.apache.org/jira/browse/XERCESC-1455
 Project: Xerces-C++
  Issue Type: Bug
  Components: Utilities
Affects Versions: 2.3.0
 Environment: Solaris
Reporter: Alex Akula
Assignee: David Bertoni
 Fix For: 3.0.1

 Attachments: patch.txt


 When objects get removed from ValueVectorOf  object type container no 
 destructors are called for the objects. Amemory leak could result from this.
 This could be fixed by changing the code:
 template class TElem void ValueVectorOfTElem::
 removeElementAt(const unsigned int removeAt)
 {
 if (removeAt = fCurCount)
 ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Vector_BadIndex);
   fElemList[removeAt] = 0; // akula --  this is the fix for classes in 
 which assign operator is overloaded appropriate way.
 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--;
 }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-1656) Project uses deprecated Mac OS X functions and data types.

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1656.


   Resolution: Fixed
Fix Version/s: 3.0.1

Assuming this is fixed in the 3-series.

 Project uses deprecated Mac OS X functions and data types.
 --

 Key: XERCESC-1656
 URL: https://issues.apache.org/jira/browse/XERCESC-1656
 Project: Xerces-C++
  Issue Type: Bug
  Components: Utilities
Affects Versions: 2.7.0
 Environment: Mac OS X 10.4 with Xcode 2.4.1
Reporter: Kevin Hoyt
Assignee: James Berry
 Fix For: 3.0.1


 All functions that take an FSSpec are depricated.  These functions need to be 
 replaced with FSRef based functions so Xerces can still be used once these 
 functions become obsolete.
 Also, I vote for removing support for Classic (Mac OS 9).  If anyone really 
 needs this, they can use an older release.
 And, I'd say the same thing about supporting CodeWarrior.
 These are the files that need to be updated.
 MacOSPLatformUtils.cpp
 MacOSPlatformUtils.hpp
 MacOSUnicodeConverter.cpp
 Is anyone working on updating the Mac specific code for Xerces???

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



How to have an attribute which contains XML

2009-11-17 Thread Leif Goodwin

We have blocks of XML which represents dialog templates. Here is an example
with 2 buttons and one number edit control: 

dialogex caption=Activity charset=1 cx=522 cy=348 decplaces=5
field=activity fontname=MS Shell Dlg italic=0 major_version=1
minor_version=0 ptsize=8 resid=130
style=DS_SETFONT|DS_MODALFRAME|DS_FIXEDSYS|WS_POPUP|WS_CAPTION|WS_SYSMENU
type=DIALOGEX weight=400 x=0 y=0

  pushbutton caption=OK cx=63 cy=15 resid=IDOK style=WS_TABSTOP
x=453 y=7/

  pushbutton caption=Cancel cx=63 cy=15 resid=IDCANCEL
style=WS_TABSTOP x=453 y=28/

  editnumber cx=100 cy=12 decplaces=3 field=no_CSP
formula=.//activity/@LCSP - .//activity/@FCSP + 1 numeric=int
resid=218 style=ES_AUTOHSCROLL|ES_READONLY|WS_BORDER|WS_TABSTOP x=84
y=297/

/dialogex

You can see that the editnumber element has an attribute called formula
which contains an XQuery expression. This works fine until the XQuery
expression contains something like the following: 

data.//activity/@status/data

The problem is that Xerces does not like an attribute value that contains
the '' and '' characters. When I try to parse the dialogex element with
a formula attribute containing the above XQuery expression, it goes wobbly,
and fails. 

Does anyone know a way around this? (Of course I could pre-parse the formula
string, and replace all '' characters with @@lt for example, and
similarly for '', and hope that our formula never needs to contain @@lt
and @@gt. But I'd rather find a more elegant method.)
-- 
View this message in context: 
http://old.nabble.com/How-to-have-an-attribute-which-contains-XML-tp26392607p26392607.html
Sent from the Xerces - C - Dev mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



RE: How to have an attribute which contains XML

2009-11-17 Thread Jesse Pelton
Are you saying that the document may be serialized with an element like the 
following?

  editnumber formula=data.//activity/@status/data

If so, the serialization is invalid.  See 
http://www.w3.org/TR/2006/REC-xml-20060816/#syntax.  '' must be represented as 
a numeric character reference or 'lt;' when it's not used as a markup 
delimiter.  If humans have to look at the markup, you might want to represent 
'' as 'gt;' for symmetry.  Note that ampersands must also be escaped.  A 
spec-compliant XML processor will take care of this for you.


-Original Message-
From: Leif Goodwin [mailto:lgood...@qgsl.com]
Sent: Tue 11/17/2009 11:10 AM
To: c-dev@xerces.apache.org
Subject: How to have an attribute which contains XML
 

We have blocks of XML which represents dialog templates. Here is an example
with 2 buttons and one number edit control: 

dialogex caption=Activity charset=1 cx=522 cy=348 decplaces=5
field=activity fontname=MS Shell Dlg italic=0 major_version=1
minor_version=0 ptsize=8 resid=130
style=DS_SETFONT|DS_MODALFRAME|DS_FIXEDSYS|WS_POPUP|WS_CAPTION|WS_SYSMENU
type=DIALOGEX weight=400 x=0 y=0

  pushbutton caption=OK cx=63 cy=15 resid=IDOK style=WS_TABSTOP
x=453 y=7/

  pushbutton caption=Cancel cx=63 cy=15 resid=IDCANCEL
style=WS_TABSTOP x=453 y=28/

  editnumber cx=100 cy=12 decplaces=3 field=no_CSP
formula=.//activity/@LCSP - .//activity/@FCSP + 1 numeric=int
resid=218 style=ES_AUTOHSCROLL|ES_READONLY|WS_BORDER|WS_TABSTOP x=84
y=297/

/dialogex

You can see that the editnumber element has an attribute called formula
which contains an XQuery expression. This works fine until the XQuery
expression contains something like the following: 

data.//activity/@status/data

The problem is that Xerces does not like an attribute value that contains
the '' and '' characters. When I try to parse the dialogex element with
a formula attribute containing the above XQuery expression, it goes wobbly,
and fails. 

Does anyone know a way around this? (Of course I could pre-parse the formula
string, and replace all '' characters with @@lt for example, and
similarly for '', and hope that our formula never needs to contain @@lt
and @@gt. But I'd rather find a more elegant method.)
-- 
View this message in context: 
http://old.nabble.com/How-to-have-an-attribute-which-contains-XML-tp26392607p26392607.html
Sent from the Xerces - C - Dev mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org




[jira] Updated: (XERCESC-1866) Crash with regular expression

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov updated XERCESC-1866:
-

Fix Version/s: 3.1.0

Would be really nice to fix this for 3.1.0.

 Crash with regular expression
 -

 Key: XERCESC-1866
 URL: https://issues.apache.org/jira/browse/XERCESC-1866
 Project: Xerces-C++
  Issue Type: Bug
  Components: Utilities
 Environment: Windows XP, Visual Studio 2005
Reporter: Alexander Hartmann
Assignee: David Bertoni
 Fix For: 3.1.0

 Attachments: XERCESC-1866.patch


 when I run the following test code my application crashes on the second 
 regEx.matches call:
 {
   XMLBuffer optionsBuf;
   optionsBuf.append('i');
   optionsBuf.append('H');
   RegularExpression regEx(L^\\W*Excel\\W*$, optionsBuf.getRawBuffer());
   regEx.matches(Excel);
 }
 {
   XMLBuffer optionsBuf;
   optionsBuf.append('i');
   optionsBuf.append('H');
   RegularExpression regEx(L^\\W*Excel\\W*$, optionsBuf.getRawBuffer());
   regEx.matches(Excel);
 }
 some details I found during debugging:
 - there is an instance of RangeToken where I have no idea where this is 
 created. I've set a breakpoint in the constructor but the debugger does not 
 stop.
 - when RangeToken::getCaseInsensitiveToken is called a new RangeToken is 
 created and stored in fCaseIToken
 - when parsing is finished the newly created RangeToken is deleted (through 
 ~RegularExpression - ~TokenFactory), but the original RangeToken (where I 
 don't know where it is created) still exists and references the deleted 
 RangeToken in fCaseIToken
 - the next time RangeToken::getCaseInsensitiveToken is called the invalid 
 reference fCaseIToken is returned and this leads to a crash when it is 
 accessed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Updated: (XERCESC-1826) XMLURL::makeNewStream() fails to decode file:/// URLs containing the (properly escaped) % character

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov updated XERCESC-1826:
-

Fix Version/s: 3.1.0
 Assignee: Boris Kolpackov

 XMLURL::makeNewStream() fails to decode file:/// URLs containing the 
 (properly escaped) % character
 ---

 Key: XERCESC-1826
 URL: https://issues.apache.org/jira/browse/XERCESC-1826
 Project: Xerces-C++
  Issue Type: Bug
  Components: Utilities
Affects Versions: 2.5.0, 2.6.0, 2.7.0, 2.8.0, 3.0.0, 2.9.0, 3.1.0
 Environment: Windows XP Prof. German, MS Visual Studio 2003
Reporter: Matteo Ceruti
Assignee: Boris Kolpackov
 Fix For: 3.1.0


 I truly believe that XMLURL::makeNewStream() (see 
 src/xercesc/util/XMLURL.cpp) does not correctly handle file:///-URLs 
 containing the escape-sequence %25 (that is the '%'-character itself). 
 Consider you have a win32 filepath like C:\Documents\myfile_%_.xml . Its 
 URL would be file:///C:/Documents/myfile_%25_.xml, right? But this URL is 
 rejected by raising a MalformedURLException.
 makeNewStream() decodes the URL by searching and replacing the 
 escape-sequences one by one. When it sucessfully replaced %25 by the 
 '%'-character it continunes it's search for the next escape-sequence. The 
 problem is, that it starts at the very position, where the last 
 escape-sequence began. Therefore it suddenly finds a %-character again, 
 because it had just been put there.
 This happens at least with xerces-c 2.5 and it seems that the current 
 (revision=670359) 
 http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/util/XMLURL.cpp still 
 has this problem. So probably other releases may have the same issue.
 I think the line
  percentIndex = XMLString::indexOf(realPath, chPercent, percentIndex, 
 fMemoryManager);
 should be replaced by 
  percentIndex = XMLString::indexOf(realPath, chPercent, percentIndex + 1, 
 fMemoryManager);
 This works for me.
 Please correct me, if I'm wrong. Thank you in advance.
 Best regards,
  Matteo

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Updated: (XERCESC-1599) DTD grammar caching of failed grammer causes segmentation fault

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov updated XERCESC-1599:
-

Affects Version/s: (was: 2.7.0)
   3.0.1

I tried the attached test with 3.0.1. IGXMLScanner works without any problem, 
including under valgrind. DGXMLScanner on the other hand does cause some memory 
access/free errors. So it seems this has been fixed in the former but not the 
latter.

 DTD grammar caching of failed grammer causes segmentation fault
 ---

 Key: XERCESC-1599
 URL: https://issues.apache.org/jira/browse/XERCESC-1599
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (DTD)
Affects Versions: 3.0.1
 Environment: All.
Reporter: Michael Fuller
Priority: Critical
 Attachments: test-12907.tar


 Problem:
 If you enable grammar caching and:
 * DTD validate a valid document
 * DTD validate an invalid document
 * DTD validate an valid document
 a segmentation fault, etc. occurs inside Xerces.
 Apparent cause:
 When parsing a document in DTD mode, the parser always creates a temporary
 grammar called [dtd]. If the parser successully parses the document,
 it puts the parsed DTD in [dtd] and then renames [dtd] to the real
 name of the DTD.
 However, if the parse does not succeed, the parser (erroneously?)
 just leaves [dtd] in the grammer cache.  This means that [dtd]
 exists in the grammar cache when a new document is parsed later that
 uses a novel DTD, then the presence of [dtd] in the grammar cache
 will eventually cause a memory leak and double free, ultimately
 causing a crash (see attached dbx or gdb output).
 This affects users of the DGXMLScanner and the IGXMLScanner.
 A fix for the problem is to make sure that before [dtd] is placed
 in the grammar cache any existing [dtd] is removed.
 The attached test case failed under both Solaris and Linux.
 Under Solaris, depending on where the files were located, environment, etc.
 it would sometimes crash, and sometimes not.  However, even when it did not
 crash, it was still double freeing, etc; this can be seen by running
 bcheck test-12907 (output attached).
 Under linux, it always seems to crash with:
 *** glibc detected *** free(): invalid pointer: 0x0050ed18 ***
 However, even if the erroneous code does not trigger a crash,
 valgrind should show the problem.
 We have developed a kludgy workaround, but I do not think
 that it is a good fix.  See the attached diffs against 2.7.0.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-372) Xerces-C++/1.7 parser can not handle % sign correctly

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-372?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-372.
---

   Resolution: Fixed
Fix Version/s: 3.0.1
 Assignee: (was: Xerces-C Developers Mailing List)

Assuming fixed in the latest release.

 Xerces-C++/1.7 parser can not handle % sign correctly
 -

 Key: XERCESC-372
 URL: https://issues.apache.org/jira/browse/XERCESC-372
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (DTD)
Affects Versions: 1.7.0
 Environment: Operating System: HP-UX
 Platform: HP
Reporter: Yufan Zhang
 Fix For: 3.0.1


 Your Xerces-C++/1.7 parser can not handle % sign correctly. If a #PCDATA 
 element 
 contains a value of %, this % will go away. But for %%, sometimes we get %, 
 sometime get %% in the chars value of the documentHandler interface 
 function 
 ::characters(const XMLCh* chars, const unsigned int lenght). Do you know why? 
 or 
 we can not simply send %, in stead, we need to convert % to other string. 
 If 
 so, what string we need to convert to. If not, is there any special setting 
 we 
 forgot to do?
 Thanks,
 Yufan

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-1630) Unclear error description when validation by schema

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1630?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1630.


Resolution: Won't Fix

I don't think anyone will ever try to do this. The code base is already complex 
enough.

 Unclear error description when validation by schema
 ---

 Key: XERCESC-1630
 URL: https://issues.apache.org/jira/browse/XERCESC-1630
 Project: Xerces-C++
  Issue Type: Improvement
  Components: Validating Parser (DTD)
Affects Versions: 2.4.0
 Environment: Solaris
Reporter: woods wang

 When using the Xerces to validate the xml by schema, for example, the content 
 model is '((msisdn,imsi),region)', as you know, the msisdn and imsi is 
 mandatory parameters, if the xml is missing the msisdn element, Xerces will 
 report the error 
 Message: Element 'imsi' is not valid for content 
 model:'((msisdn,imsi),region)'!!
 I understand that the 'msisdn' is the first expected mandatory parameter, but 
 xerces get the 'imsi' as the first parameter, so it complain the 'imsi' is 
 not valid.
 But could it be possible to change the error description to make it more 
 clear? like msisdn is missing something like that...
 thanks,
 //woods

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Commented: (XERCESC-1859) DOMLSResourceResolver resolveResource() called for every instance of a DTD.

2009-11-17 Thread Boris Kolpackov (JIRA)

[ 
https://issues.apache.org/jira/browse/XERCESC-1859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12779320#action_12779320
 ] 

Boris Kolpackov commented on XERCESC-1859:
--

Confirmed. The problem could be that DTDs don't have a key that can be used to 
ignore duplicate schemas like the target namespace is used in XML Schema 
caching. One way to address this would be to extend the fgXercesLoadSchema 
property to also apply to DTDs.

 DOMLSResourceResolver resolveResource() called for every instance of a DTD.
 ---

 Key: XERCESC-1859
 URL: https://issues.apache.org/jira/browse/XERCESC-1859
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (DTD)
Affects Versions: 3.0.1
 Environment: x86 build
Reporter: Ben Griffin
 Attachments: 12421546.zip


 By overriding DOMLSResourceResolver, it can be identified that every time a 
 DTD based document is being validated, the DTD cache is being ignored, and  
 DOMLSInput* DOMLSResourceResolver::resolveResource()  is being called to 
 locate the relevant resource.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-1202) GeneralAttributeCheck initialize fails

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1202.


   Resolution: Fixed
Fix Version/s: 3.0.1

Assuming fixed in 3.0.1.

 GeneralAttributeCheck initialize fails
 --

 Key: XERCESC-1202
 URL: https://issues.apache.org/jira/browse/XERCESC-1202
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 2.3.0
 Environment: Sun Solaris 8
Reporter: Michael Kopp
Priority: Critical
 Fix For: 3.0.1


 We are parsing the same xml in multiple threads, which contains a schema. 
 Very frequently, at least once for every tinderbox build, we get the 
 following core dump:
 =[1] xercesc_2_3::ValueHashTableOfunsigned short::findBucketElem(this = 
 (nil), key = 0x8ec3a4, hashVal = 4265683276U), line 252 in 
 ValueHashTableOf.c
   [2] xercesc_2_3::ValueHashTableOfunsigned short::get(this = (nil), key = 
 0x8ec3a4), line 199 in ValueHashTableOf.c
 dbx: warning: unexpected RTTI for type xercesc_2_3::XSDLocator
   [3] xercesc_2_3::GeneralAttributeCheck::getFacetId(this = 0xfc500c24, 
 facetName = 0x8ec3a4), line 298 in GeneralAttributeCheck.hpp
   [4] xercesc_2_3::TraverseSchema::traverseByRestriction(this = 0xfc500b58, 
 rootElem = 0x8ec008, contentElem = 0x8ec118, typeName = 0x453198, 
 qualifiedName = 0x47b758, finalSet = 0), line 2981 in TraverseSchema.cpp
   [5] xercesc_2_3::TraverseSchema::traverseSimpleTypeDecl(this = 0xfc500b58, 
 childElem = 0x8ec008, topLevel = false, baseRefContext = 0), line 1082 in 
 TraverseSchema.cpp
   [6] xercesc_2_3::TraverseSchema::traverseAttributeDecl(this = 0xfc500b58, 
 elem = 0x8ebdd8, typeInfo = 0x33eee0, topLevel = false), line 2053 in 
 TraverseSchema.cpp
   [7] xercesc_2_3::TraverseSchema::processAttributes(this = 0xfc500b58, elem 
 = 0x8eac50, attElem = 0x8ebdd8, baseRawName = (nil), baseLocalPart = (nil), 
 baseURI = (nil), typeInfo = 0x33eee0, isBaseAnyType = false), line 6108 in 
 TraverseSchema.cpp
   [8] xercesc_2_3::TraverseSchema::processComplexContent(this = 0xfc500b58, 
 ctElem = 0x8eac50, typeName = 0x8ead70, childElem = 0x8eae40, typeInfo = 
 0x33eee0, baseRawName = (nil), baseLocalPart = (nil), baseURI = (nil), 
 isMixed = false, isBaseAnyType = false), line 5906 in TraverseSchema.cpp
   [9] xercesc_2_3::TraverseSchema::traverseComplexTypeDecl(this = 0xfc500b58, 
 elem = 0x8eac50, topLevel = true, recursingTypeName = (nil)), line 1269 in 
 TraverseSchema.cpp
   [10] xercesc_2_3::TraverseSchema::processChildren(this = 0xfc500b58, root = 
 0x8ea5a8), line 4283 in TraverseSchema.cpp
   [11] xercesc_2_3::TraverseSchema::doTraverseSchema(this = 0xfc500b58, 
 schemaRoot = 0x8ea5a8), line 276 in TraverseSchema.cpp
   [12] xercesc_2_3::TraverseSchema::TraverseSchema(this = 0xfc500b58, 
 schemaRoot = 0x8ea5a8, uriStringPool = 0x43d0f0, schemaGrammar = 0x8cfe10, 
 grammarResolver = 0x8844b8, xmlScanner = 0x21a458, schemaURL = 0x2126c0, 
 entityHandler = (nil), errorReporter = 0x3ff874, manager = 0xd50b8), line 253 
 in TraverseSchema.cpp
   [13] xercesc_2_3::IGXMLScanner::resolveSchemaGrammar(this = 0x21a458, loc = 
 0x812458, uri = 0x213ad8), line 1421 in IGXMLScanner2.cpp
   [14] xercesc_2_3::IGXMLScanner::parseSchemaLocation(this = 0x21a458, 
 schemaLocationStr = 0x262a58), line 1285 in IGXMLScanner2.cpp
   [15] xercesc_2_3::IGXMLScanner::scanRawAttrListforNameSpaces(this = 
 0x21a458, theRawAttrList = 0x7dbd30, attCount = 4), line 1247 in 
 IGXMLScanner2.cpp
   [16] xercesc_2_3::IGXMLScanner::scanStartTagNS(this = 0x21a458, gotData = 
 true), line 2034 in IGXMLScanner.cpp
   [17] xercesc_2_3::IGXMLScanner::scanContent(this = 0x21a458, extEntity = 
 false), line 849 in IGXMLScanner.cpp
   [18] xercesc_2_3::IGXMLScanner::scanDocument(this = 0x21a458, src = CLASS), 
 line 209 in IGXMLScanner.cpp
   [19] xercesc_2_3::XMLScanner::scanDocument(this = 0x21a458, systemId = 
 0x25b9b8), line 419 in XMLScanner.cpp
   [20] xercesc_2_3::XMLScanner::scanDocument(this = 0x21a458, systemId = 
 0x817d58 
 /view/auto_build_MessageMapper_Development-dcacpl1-2004-04-25.2135_view/dcaclearcase/vobs/eQuality/eBridge/../../eBridge/FormatDefinitions/swift/SwiftDataDictionary.xml),
  line 427 in XMLScanner.cpp
   [21] xercesc_2_3::SAX2XMLReaderImpl::parse(this = 0x3ff868, systemId = 
 0x817d58 
 /view/auto_build_MessageMapper_Development-dcacpl1-2004-04-25.2135_view/dcaclearcase/vobs/eQuality/eBridge/../../eBridge/FormatDefinitions/swift/SwiftDataDictionary.xml),
  line 637 in SAX2XMLReaderImpl.cpp
   [22] ftisoft::vendor::swift::Field::GetDictionary(toFill = CLASS, def_dir = 
 CLASS), line 156 in DataDictionary.cpp
   ...
 I looked into it and found that the initialize of 
 GeneralAttributeCheck::mapElements seems to fail. Although the mutex 
 

[jira] Updated: (XERCESC-1748) parsing registry based authorities in URI fails

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1748?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov updated XERCESC-1748:
-

Affects Version/s: (was: 2.7.0)
   3.0.1
Fix Version/s: 3.1.0
 Assignee: Boris Kolpackov

 parsing registry based authorities in URI fails
 ---

 Key: XERCESC-1748
 URL: https://issues.apache.org/jira/browse/XERCESC-1748
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 3.0.1
 Environment: Linux
Reporter: G. Kramer
Assignee: Boris Kolpackov
Priority: Blocker
 Fix For: 3.1.0

 Attachments: anyURITest.xml, anyURITest.xsd, xercesc-1748patch.txt


 validating documents against schema containing registry based authorities in 
 anyURI typed attributes fails with:
 Message: Datatype error: Type:InvalidDatatypeValueException, Message:Value 
 '...' is NOT a valid URI

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Updated: (XERCESC-1659) Order sensitivity in schemaLocation and noNamespaceSchemaLocation

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1659?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov updated XERCESC-1659:
-

Affects Version/s: (was: 2.7.0)
   3.1.0
Fix Version/s: 3.1.0
 Assignee: Boris Kolpackov

Confirmed the problems are still present, even with multi-import enabled.

 Order sensitivity in schemaLocation and noNamespaceSchemaLocation
 -

 Key: XERCESC-1659
 URL: https://issues.apache.org/jira/browse/XERCESC-1659
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 3.1.0
 Environment: all
Reporter: Boris Kolpackov
Assignee: Boris Kolpackov
 Fix For: 3.1.0

 Attachments: test-case-1.tar.gz, test-case-2.tar.gz


 I am attaching two test cases (each consists of 3 schemas plus an XML 
 instance). If you try to run domprint on the first test case, you will get 
 the following error:
 $ domprint -v=always -n -s -f test-users.xml 
 Error at file test-users.xml, line 6, column 78
Message: Unknown element 'b:UserDatabase'
 If you change the order of the schemaLocation and noNamespaceSchemaLocation 
 attributes in test-users.xml then the error disappears.
 The second test case is a slight modification of the first test case with the 
 only difference being the schemas with targetNamespace are now do not have a 
 namespace, and the schema that used to be without a namespace 
 (derived-user-config.xsd) now is in a namespace. If you run domprint on this 
 test case, you will get the following error:
 $ domprint -v=always -n -s -f test-users.xml 
 Error at file test-users.xml, line 6, column 55
Message: Unknown element 'UserDatabase'
 This seems to prove that for Xerces-C++, for some reason, it is important 
 that the schema that declares the root element is mentioned in the first 
 *Location attribute (nor matter whether schemaLocation or 
 noNamespaceSchemaLocation). Now comes the surprise: if we reverse the order 
 of the two attributes in the second test case, domprint terminates with 
 segmentation fault. Examination of the core points to the IGXMLScanner.cpp, 
 line 2288:
 elemDecl = fGrammar-getElemDecl(
 uriId, nameRawBuf, qnameRawBuf, currentScope
 );

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Updated: (XERCESC-1263) Abstract type not handled correctly by cached grammar

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov updated XERCESC-1263:
-

Affects Version/s: (was: 2.5.0)
   (was: 2.3.0)
   3.1.0
Fix Version/s: 3.1.0

The bug is still present in 3.1.0.

 Abstract type not handled correctly by cached grammar
 -

 Key: XERCESC-1263
 URL: https://issues.apache.org/jira/browse/XERCESC-1263
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 3.1.0
Reporter: Matthew Berry
 Fix For: 3.1.0


 Details:
 
 I have managed to narrow the problem I am having to a simple test case. In 
 the schema, I have an abstract type defined and am using xsi:type with a 
 concrete type in the data file.
 If I have a xsi:schemaLocation attribute in my data file, then the test Xml 
 file passes the validation. (I have used DOMCount to verify this)
 If I remove xsi:schemaLocation and instead from my source code call 
 loadGrammar() and setFeature(XMLUni::fgXercesUseCachedGrammarInParse, true), 
 I am getting the following error messages:
   Message: Element paramInstance is declared with a type that is
  abstract.  Use xsi:type to specify a non-abstract type
   Message: Attribute 'name' is not declared for   
   element 'paramInstance'
 Schema:
 ---
 xsd:schema targetNamespace=http://www.temp.org; 
 xmlns:tmp=http://www.temp.org; xmlns:xsd=http://www.w3.org/2001/XMLSchema;
!-- 
   Define a 'paramInstance' element
   NOTE: We use an abstract base to allow for extension
   --
xsd:complexType name=ParamInstanceType abstract=true /
xsd:element name=paramInstance type=ParamInstanceType /
!-- 
   Specifying a concrete type
  --
xsd:complexType name=ConcreteParamInstance
   xsd:complexContent
  xsd:extension base=tmp:ParamInstanceType
 xsd:attribute name=name type=xsd:string use=required /
  /xsd:extension
   /xsd:complexContent
/xsd:complexType
 /xsd:schema
 Test data file:
 ---
 paramInstance xmlns=http://www.temp.org;   
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
xsi:type=ConcreteParamInstance name=param1 /

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Updated: (XERCESC-1232) Access violation when validating against invalid schema

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1232?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov updated XERCESC-1232:
-

Affects Version/s: (was: 2.5.0)
   3.1.0

Segfault is still there in the 3.1.0 codebase.

 Access violation when validating against invalid schema
 ---

 Key: XERCESC-1232
 URL: https://issues.apache.org/jira/browse/XERCESC-1232
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 3.1.0
 Environment: Windows XP - VC++ 6.0 SP5
Reporter: Alberto Massari
 Attachments: Feb2.xml, t1.xsd, x1.xsd, xsi.xsd


 I received an invalid schema, where a schema with no target namespace 
 imported a second schema (with a target namespace) that, in turn, imported a 
 third schema having no target namespace. When an instance of XML is validated 
 against this schema, an access violation occurs when trying to use the 
 fGrammar for the top level XML element, as it had already been deleted.
 This happens because TraverseSchema::preprocessImport is testing for a 
 duplicate grammar being imported only if the grammar has a namespace; if a 
 grammar with no namespace is imported, it is parsed again and placed in the 
 grammar resolver. But the grammar resolver will delete the Grammar object 
 previously associated with that key, and when that Grammar object will be 
 restored at the end of the processing of the xs:import statement, it will be 
 an invalid pointer.
 To reproduce the access violation, run 
 DOMPrint -n -s feb2.xml
 on the attached files.
 Alberto

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-1174) Error message doesnt contain all usefull informations if the schema-parsing isnt successfull

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1174?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1174.


Resolution: Invalid
  Assignee: (was: Xerces-C Developers Mailing List)

No clear problem description provided.

 Error message doesnt contain all usefull informations if the schema-parsing 
 isnt successfull
 

 Key: XERCESC-1174
 URL: https://issues.apache.org/jira/browse/XERCESC-1174
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 2.4.0
 Environment: Operating System: Windows XP
 Platform: PC
Reporter: Kai-Uwe Schmidt

 Under M$ VC++ 6.0
 The Information can be delivered to the user by modifying the resource String 
 table ID 16430 like this: 
 Datatype error: Type:{0}, Attribute: {2}, Message:{1}. 
 and upgrading: 
 emitError (XMLValid::DatatypeError, idve.getType(), idve.getMessage(),attDef-
 getFullName()); 
 in SchemaValidator::validateAttrValue.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-1187) Xerces SAX2 parser can not skip xs:any if xsi:nil is used in xml

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1187?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1187.


   Resolution: Fixed
Fix Version/s: 3.1.0
 Assignee: (was: Xerces-C Developers Mailing List)

Works in 3.1.0.

 Xerces SAX2 parser can not skip xs:any if xsi:nil is used in xml
 

 Key: XERCESC-1187
 URL: https://issues.apache.org/jira/browse/XERCESC-1187
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 2.4.0
 Environment: Operating System: Solaris
 Platform: Sun
Reporter: Andy Ding
 Fix For: 3.1.0


 We're using Xerces-C++ version 2.4.0. Now we found an error about xerces SAX2
 parser can not skip xs:any type if xsi:nil=true is used in xml.
 As you can see, in following note.xml, the element school should be
 validated by another schema file defining this element, not by the schema file
 defining xs:any.
 The schema example:
 ?xml version=1.0?
 xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema;
 xmlns=http://www.w3schools.com;
 elementFormDefault=qualified
 targetNamespace=http://www.w3schools.com;
 xs:element name=note
 xs:complexType
   xs:sequence
 xs:element name=to type=xs:string/
 xs:element name=from type=xs:string/
 xs:any namespace=##any processContents=skip 
 maxOccurs=unbounded/
   /xs:sequence
 /xs:complexType
 /xs:element
 /xs:schema
 The xml example:
 ?xml version=1.0?
 note xmlns=http://www.w3schools.com;
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
 xsi:schemaLocation=http://www.w3schools.com note.xsd
 toTove/to
 fromJani/from
 school
   student xsi:nil=true/
 /school
 /note
 The error message:
 Error at file 1, line 15, char 8
   Message: Element note with attribute xsi:nil=true must be empty

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-991) When calling getContentModel() on element it throws exception for empty elements

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-991?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-991.
---

Resolution: Invalid
  Assignee: (was: Xerces-C Developers Mailing List)

Please provide a test case if you believe this is still a problem.

 When calling getContentModel() on element it throws exception for empty 
 elements
 

 Key: XERCESC-991
 URL: https://issues.apache.org/jira/browse/XERCESC-991
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 2.2.0
 Environment: Operating System: Other
 Platform: Other
Reporter: Hima Mukkamala

 When getContentModel() is called on elem where
 SchemaELementDecl* elem for an empty element declaration,
 it throws an exception. Isn't it the right
 approach to return null similar to SchemaElementDecl::Simple
 typed elements.
 Fix would be to add this code in ComplexTypeInfo::makeContentModel
 // code
 else if (fContentType == SchemaElementDecl::Empty) {
// just return nothing
 }
 in this function. 
 -thanks
 hima

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Updated: (XERCESC-391) Make Error/Message Extension Of The XMLValidator Possible

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-391?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov updated XERCESC-391:


  Priority: Minor  (was: Major)
  Assignee: (was: Xerces-C Developers Mailing List)
Issue Type: New Feature  (was: Bug)

 Make Error/Message Extension Of The XMLValidator Possible
 -

 Key: XERCESC-391
 URL: https://issues.apache.org/jira/browse/XERCESC-391
 Project: Xerces-C++
  Issue Type: New Feature
  Components: Validating Parser (XML Schema)
Affects Versions: 1.7.0
 Environment: Operating System: Linux
 Platform: PC
Reporter: Reid Spencer
Priority: Minor
 Attachments: XMLValidator.cpp, XMLValidator.hpp, XMLValidityCodes.hpp


 The 1.7.0 xercesc/framework/XMLValidator class uses a message numbering and 
 loading schema that does not lend itself to extension of the class. In my 
 case,
 I am attempting to provide further semantic validation of a document by 
 extending the class xercesc/validators/schema/SchemaValidator.  To make 
 XMLValidator a little more friendly to those wishing to extend it, I have 
 made four new virtual functions in the XMLValidator interface. All four have
 default implementations and no code changes to any other classes were 
 required.
 The new virtual functions are: getClassLoader, isWarning, isError, and 
 isFatal.
 These four functions permit a subclass to determine which class loader gets
 loaded to generate the error message and to also decide which error codes are
 warnings, errors, or fatal.  Previously, these capabilities were statically
 coded into XMLValidator and XMLValid. One other change is that XMLValid::Codes
 is now an unsigned integer rather than an enumeration. This change is needed
 in order to make it possible for subclasses to have their own range of error
 codes. XMLValidator reserves error numbers 0- for its own use. Subclasses
 can pick any other range for their error numbers.
 The change to implement this consists of only three files:
 xercesc/framework/XMLValidator.hpp
 xercesc/framework/XMLValidator.cpp
 xercesc/framework/XMLValidityCodes.hpp
 All three files are provided as attachments and have been tested in the
 following environment (i.e. all Sample  Test programs work):
 Platform: PC (2 x 1GHz Pentium III )
 Operating System: Linux 7.1 + updates (kernel = 2.4.9-31smp)
 Compiler: GCC 3.0.3
 It would be great if these changes could be made to stick in future 
 releases.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Updated: (XERCESC-1668) Good schema rejected - simpleContent/complexContent

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1668?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov updated XERCESC-1668:
-

Affects Version/s: (was: 2.7.0)
   3.1.0

 Good schema rejected - simpleContent/complexContent
 ---

 Key: XERCESC-1668
 URL: https://issues.apache.org/jira/browse/XERCESC-1668
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 3.1.0
Reporter: Jochen Schwarze
 Attachments: test.xml, test.xsd


 The attached schema does not validate the attached instance:
 file:///.../test.xsd:12,36: The type 'xs:anyType' specified as the base in 
 the simpleContent element must not have complexContent
 Both schema and instance validate in Xerces-J 2.9 (with 
 schema-full-checking), with MSXML 4.0 and 6.0, Saxon-SA 8.8, XSV 2.10-1 and 
 with Alphaworks' SchemaQualityChecker.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Commented: (XERCESC-1668) Good schema rejected - simpleContent/complexContent

2009-11-17 Thread Boris Kolpackov (JIRA)

[ 
https://issues.apache.org/jira/browse/XERCESC-1668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12779345#action_12779345
 ] 

Boris Kolpackov commented on XERCESC-1668:
--

Still present in the 3.1.0 codebase.

 Good schema rejected - simpleContent/complexContent
 ---

 Key: XERCESC-1668
 URL: https://issues.apache.org/jira/browse/XERCESC-1668
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 3.1.0
Reporter: Jochen Schwarze
 Attachments: test.xml, test.xsd


 The attached schema does not validate the attached instance:
 file:///.../test.xsd:12,36: The type 'xs:anyType' specified as the base in 
 the simpleContent element must not have complexContent
 Both schema and instance validate in Xerces-J 2.9 (with 
 schema-full-checking), with MSXML 4.0 and 6.0, Saxon-SA 8.8, XSV 2.10-1 and 
 with Alphaworks' SchemaQualityChecker.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-1576) lax wildcard is handled as strict wildcard in some cases

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1576?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1576.


Resolution: Invalid

Please provide a test case (schema and xml files) that reproduces this problem.

 lax wildcard is handled as strict wildcard in some cases
 

 Key: XERCESC-1576
 URL: https://issues.apache.org/jira/browse/XERCESC-1576
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 2.6.0
 Environment: Windows VC++
Reporter: Akihiko Tozawa

 This bug is similar to XERCESJ-128.  
 When reading for example, xs:any processContents=lax namespace=a b c 
 d/, this lax is ignored and treated as strict.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-1587) The default values for attributes in schema are not resolved using DOMBuilder

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1587?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1587.


Resolution: Invalid

Works for me.

 The default values for attributes in schema are not resolved using DOMBuilder
 -

 Key: XERCESC-1587
 URL: https://issues.apache.org/jira/browse/XERCESC-1587
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 2.6.0
Reporter: Vit Ondruch

 I was used to use the XSD schema with default attribute values as:
 xs:attribute name=MaxSequenceLength type=xs:unsignedLong 
 form=unqualified default=1 /
 A lot of my XML files does not contained the attributes with specified 
 default value at all. When i used the XercesDOMParser, everything worked as 
 expected and when i try to retrieve the value of such attribute, the default 
 value was returned, but that does not apply for DOMBuilder unfortunatelly. 
 The attribute is simply not found, which is wrong.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-1601) SAX2 Parser throws an uncaught xercesc_2_7::XMLValid::Codes exception when setValidationConstraintFatal is on with enclosing xml tags

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1601.


Resolution: Invalid

Does not appear to be a problem with Xerces-C++.

 SAX2 Parser throws an uncaught xercesc_2_7::XMLValid::Codes exception when 
 setValidationConstraintFatal is on with enclosing xml tags
 -

 Key: XERCESC-1601
 URL: https://issues.apache.org/jira/browse/XERCESC-1601
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 2.7.0
 Environment: Xerces 2.7 recompiled locally
 Win2K, WinXP, Win2k3
 Microsoft Visual Sutudio 7.1 in either debug or release builds
Reporter: Michel Courtine

 I implemented a xerces SAX2 parser by following IBM's recommandations in 
 Make the most of Xerces-C++ found at:
 http://www-128.ibm.com/developerworks/xml/library/x-xercc/
 This parser works fine with large and complex files and performs a very good 
 validation. No complains at all.
 Untill we started to use DOM generated files by a Java app that outputs this 
 kind of xml data:
 Directory xmlns=http://www.rd.bbc.co.uk/dtv/wp4/System42; 
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; version=1 
 xsi:schemaLocation=http://www.rd.bbc.co.uk/dtv/wp4/System42 
 ../schema/system42.xsd
 ModuleEntry version=1 type=CODE name=LIBCORE
 /ModuleEntry
 ModuleEntry version=1 type=CODE name=LIBPATH
 /ModuleEntry
 ModuleEntry version=1 type=OPENTV_RESOURCE name=SYS_ENV
 /ModuleEntry
 ModuleEntry version=1 type=OPENTV_RESOURCE name=SERVICE
 /ModuleEntry
 ServiceInfo version=1 name=singleStreamVideo
 /ServiceInfo
 /Directory
 When we send the following xml, with self-contained tags (one-liners) 
 instead of empty-enclosing tags, no exceptions are thrown and the validation 
  parsing are performed correctly.
 Directory xmlns=http://www.rd.bbc.co.uk/dtv/wp4/System42; 
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; version=1 
 xsi:schemaLocation=http://www.rd.bbc.co.uk/dtv/wp4/System42 
 ../schema/system42.xsd
 ModuleEntry version=1 type=CODE name=LIBCORE /
 ModuleEntry version=1 type=CODE name=LIBPATH /
 ModuleEntry version=1 type=OPENTV_RESOURCE name=SYS_ENV /
 ModuleEntry version=1 type=OPENTV_RESOURCE name=SERVICE /
 ServiceInfo version=1 name=singleStreamVideo /
 /Directory
 An other interesting point for you is that when we turn 
 setValidationConstraintFatal to false or the validation off, the parsing is 
 performed correctly too.
 This definately means to me that the validation considers the xml file as 
 invalid although both forms are supposed to be valid from an xsd point of 
 view.
 (XMLSpy validates both versions against our xsd).
 On top of that, probably because because we set setValidationConstraintFatal 
 to true, the exception is caught internally and fails silently preventing us 
 from catching it.
 Here is the xsd definition of a ModuleEntry:
   xs:element name=ModuleEntry
   xs:annotation
   xs:documentationModule entry 
 declaration/xs:documentation
   /xs:annotation
   xs:complexType
   xs:attribute name=name type=xs:string 
 use=required/
   xs:attribute name=type use=required
   xs:simpleType
   xs:restriction base=xs:string
   xs:enumeration 
 value=DIRECTORY/
   xs:enumeration 
 value=ENVIRONMENT/
   xs:enumeration 
 value=STREAMEVENTS/
   xs:enumeration 
 value=OPENTV_RESOURCE/
   xs:enumeration 
 value=SYS42_RESOURCE/
   xs:enumeration 
 value=PROPRIETARY_RESOURCE/
   xs:enumeration value=CODE/
   xs:enumeration value=RAW/
   xs:enumeration 
 value=VERSIONED_RAW/
   /xs:restriction
   /xs:simpleType
   /xs:attribute
   xs:attribute name=version type=xs:unsignedInt 
 use=required/
   /xs:complexType
   /xs:element
 Here are the features we set in the compilers
 bool CParseMgr::parse(const char* sFilename, const char *sXsdPath)
 {
   CXercesInitialiser InitXerces;
   m_sFilename = sFilename;
   SAX2XMLReader* parser = XMLReaderFactory::createXMLReader();
   

[jira] Updated: (XERCESC-1715) xereces-c allows a restricted type to have mixed content, where the content type of the base is not.

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1715?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov updated XERCESC-1715:
-

Affects Version/s: (was: 2.7.0)
   3.1.0

Still present in the 3.1.0 codebase. Xerces-J 2.9.1 appears to have the same 
problem.

 xereces-c allows a restricted type to have mixed content,  where the content 
 type of the base is not.
 -

 Key: XERCESC-1715
 URL: https://issues.apache.org/jira/browse/XERCESC-1715
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 3.1.0
Reporter: Christian Will

 Hi there,
 xereces-c allows a restricted type to have mixed content,  where the content 
 type of the base is not.
 sample:
 ?xml version=1.0?
 xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema;
   xsd:complexType name=A
   xsd:choice minOccurs=0 maxOccurs=4
   xsd:group ref=x/
   xsd:group ref=y/
   /xsd:choice
   /xsd:complexType
   xsd:group name=x
   xsd:sequence
   xsd:element name=x1/
   xsd:element name=x2/
   /xsd:sequence
   /xsd:group
   xsd:group name=y
   xsd:choice
   xsd:element name=y1/
   xsd:element name=y2/
   /xsd:choice
   /xsd:group
   xsd:group name=G
   xsd:choice
   xsd:group ref=x/
   xsd:group ref=y/
   /xsd:choice
   /xsd:group
   xsd:element name=elem
   xsd:complexType mixed=true
   xsd:complexContent
   xsd:restriction base=A
   xsd:group ref=G minOccurs=0 
 maxOccurs=0/
   /xsd:restriction
   /xsd:complexContent
   /xsd:complexType
   /xsd:element
 /xsd:schema
 Regards,
 Christian Will

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-1721) Unexpected error info is reported for the group referrence(and Order indicators all is used in the group definition)

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1721.


Resolution: Invalid

The all compositor cannot be inside the sequence compositor. If you remove the 
sequence tags in the referencing type, the schema becomes valid.

 Unexpected error info is reported for the group referrence(and Order 
 indicators all is used in the group definition)
 --

 Key: XERCESC-1721
 URL: https://issues.apache.org/jira/browse/XERCESC-1721
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 2.7.0
 Environment: Windows XP
Reporter: Bill Yan

 When a group is defined with Order indicators all, and this group is 
 refered in a complexType definition, the schema file looks like this:
 xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema;
  xsd:element name=comment type=xsd:string/
  xsd:group name=schemaTop3
   xsd:all
   xsd:element ref=comment/
/xsd:all
  /xsd:group
   
  xsd:complexType name=PurchaseOrderType
   xsd:sequence
xsd:group ref=schemaTop3 minOccurs=0 maxOccurs=0/
   /xsd:sequence
  /xsd:complexType
 /xsd:schema
 when I use XercesDOMParser::loadGrammar() to check the validity of this 
 schema file, the following error info is reported: 
 A group whose content is 'all' must only appear as the content type of a 
 complex type definition. - Line 11, Col 61.
  I tried to change xsd:all to xsd:sequence or xsd:choice, no error is 
 reported.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] Closed: (XERCESC-1713) external-schemaLocation property does not override the schema location attribute in the instance

2009-11-17 Thread Boris Kolpackov (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-1713?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Boris Kolpackov closed XERCESC-1713.


   Resolution: Fixed
Fix Version/s: 3.1.0

The fix is in SVN. This can now be resolved by setting fgXercesLoadSchema 
property to false.

 external-schemaLocation property does not override the schema location 
 attribute in the instance
 

 Key: XERCESC-1713
 URL: https://issues.apache.org/jira/browse/XERCESC-1713
 Project: Xerces-C++
  Issue Type: Bug
  Components: Validating Parser (XML Schema)
Affects Versions: 2.7.0
 Environment: any
Reporter: Boris Kolpackov
 Fix For: 3.1.0


 The documentation for the external-schemaLocation and 
 external-noNamespaceSchemaLocation properties state that if specified, the 
 instance document's schemaLocation and noNamespaceSchemaLocation attributes 
 will be effectively ignored.  This appears not to be the case. If the schema 
 specified with the external-* properies can not be opened, the parser 
 proceeds to try paths from the schemaLocation and noNamespaceSchemaLocation 
 attributes. I think this does not make much sense and is actually a potential 
 security threat. Normally if one specifies the schema location with the 
 external-* properties they don't want the values from the instance to have 
 any effect.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org