Hi Benjamin, Right and I fixed it in r724309.
Thanks! Vincent 2008/12/6 Benjamin Bentmann <[EMAIL PROTECTED]>: > Hi Vincent, > >> Author: vsiveton >> Date: Sat Dec 6 06:41:44 2008 >> New Revision: 723989 >> >> URL: http://svn.apache.org/viewvc?rev=723989&view=rev >> Log: >> DOXIA-265: Add an EntityResolver in AbstractXmlParser#getXmlReader() >> >> o added a simple cached file mechanism >> >> Modified: >> >> >> maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java >> [...] >> + byte[] res = (byte[]) cache.get( systemId ); >> + // already cached? >> + if ( res == null ) >> + { >> + File temp = >> + new File( System.getProperty( "java.io.tmpdir" ), >> FileUtils.getFile( systemId ).getName() ); >> + // maybe already as a temp file? >> + if ( !temp.exists() ) >> + { >> + res = IOUtil.toByteArray( new URL( systemId >> ).openStream() ); >> + IOUtil.copy( res, WriterFactory.newPlatformWriter( >> temp ) ); >> + } >> + else >> + { >> + res = IOUtil.toByteArray( >> ReaderFactory.newPlatformReader( temp ) ); >> + } >> + >> + cache.put( systemId, res ); >> + } >> + >> + InputSource is = new InputSource( new ByteArrayInputStream( >> res ) ); >> + is.setPublicId( publicId ); >> + is.setSystemId( systemId ); >> + > > Is it safe to use a reader here, especially a platform reader? Byte streams > that don't match the intended encoding get crippled but is the encoding of > the data known here? Should this maybe just use > IOUtil.copy( byte[], OutputStream ) > and > IOUtil.toByteArray( InputStream ) > i.e. simply move bytes around instead of thinking about characters? > > > Benjamin >