[ http://issues.apache.org/jira/browse/XMLBEANS-274?page=all ]
Cezar Andrei resolved XMLBEANS-274. ----------------------------------- Fix Version/s: TBD Resolution: Fixed The fix is a little bit more complicated, the CurLoadContext had to be modified to avoid leftStrip of consecutive text events. > Over zealous whitespace cropping after parsing entity like & > ---------------------------------------------------------------- > > Key: XMLBEANS-274 > URL: http://issues.apache.org/jira/browse/XMLBEANS-274 > Project: XMLBeans > Issue Type: Bug > Affects Versions: Version 2.1 > Environment: All > Reporter: Peter Rodgers > Fix For: TBD > > > When white space stripping is specified the parser does not detect XML > entities such as & and strips the whitespace following each entity. > For example > <root>dog & cat</root> > is parsed as > <root>dog &cat</root> > The cause of the problem is the stripLeft() method in the > org.apache.xmlbeans.impl.store.CharUtil > Below is a fixed version of the method that detects the ';' character after > an entity which indicates that whitespace is significant and must be > preserved. Note this code does not fix the case where the iteration is a for > loop. > public Object stripLeft ( Object src, int off, int cch ) > { > assert isValid( src, off, cch ); > if (cch > 0) > { > if (src instanceof char[]) > { > char[] chars = (char[]) src; > while ( cch > 0 && isWhiteSpace( chars[ off ] ) && chars[off > - 1]!=';' ) //Fix for & etc > { cch--; off++; } > } > else if (src instanceof String) > { > String s = (String) src; > while ( cch > 0 && isWhiteSpace( s.charAt( off ) ) && > s.charAt(off - 1)!=';' ) //Fix for & etc > { cch--; off++; } > } > else > { > int count = 0; > > for ( _charIter.init( src, off, cch ) ; _charIter.hasNext() ; > count++ ) > if (!isWhiteSpace( _charIter.next() )) > break; > > _charIter.release(); > off += count; > } > } > if (cch == 0) > { > _offSrc = 0; > _cchSrc = 0; > > return null; > } > _offSrc = off; > _cchSrc = cch; > return src; > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]