Hello. Just learning about stream filtering and have 2 questions I hope someone can give me some pointers on. 1 - Bucketing. In reading a bit about how this works, the data is passed in chunks through the filter - known as a bucket brigade. How does this work if, for example, the search string is chopped by the bucketing system? It would seem that you would end up with 2 parts of the search element, neither would be matched for replacing and then the whole element would be reconstituted in the output. My filter method is ... function filter($r_In, $r_Out, &$i_Consumed, $b_Closing) { while ($o_Bucket = stream_bucket_make_writeable($r_In)) { $o_Bucket->data = preg_replace('`<(/?)(\d+)`', '<$1fixed_$2', $o_Bucket->data); $i_Consumed += $o_Bucket->datalen; stream_bucket_append($r_Out, $o_Bucket); } return PSFS_PASS_ON; } This is working fine (so far as I can tell as SimpleXMLIterator is now happy to read the XML file), but I'm guessing I'm missing something here if my understanding is correct. 2 - Stream wrapping. At the moment, we download a .gz file and decompress it into the .xml file. I know I can use a zlib:// stream wrapper to save me having to decode the .gz file first. This means smaller downloads and less storage. We can even use the zlib:// filter on the URL, but we cache the .gz file locally, so that isn't important. But for a small set of files (their origin is known, so I can create a rule for this issue), I have to expand the .gz file first and then fix the file using the filter above. I then have two paths to load the xml - either a zlib:// decompress stream or a straight local file. I'd like to work out how to create a stream wrapper to allow me to say SOMETHING like ... $o_MySXI = new SimpleXMLIterator('xml.NoNumericTags://compress.zlib:///development/BadlyFormed.gz'); If this was possible, I'd be a LOT happier and could simply stream from the .gz files without needing to hold onto anything. Ideas/suggestions/examples/code gratefully received. Regards, Richard. -- Richard Quadling Twitter : EE : Zend : Fantasy Shopper @RQuadling : http://e-e.com/M_248814.html : http://bit.ly/9O8vFY : http://fan.sh/106/5tw -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php