Question: I need to process a huge XML file, 4G. I used dom4j SAX, but wrote my own DefaultElementHandler. Code framework as below:

```
SAXParserFactory sf = SAXParserFactory.newInstance();   
SAXParser sax = sf.newSAXParser();   
sax.parse("english.xml", new DefaultElementHandler("page"){   
public void processElement(Element element) { 
// process the element
}
});    

```

I thought I was processing the huge file "page" by "page". But it seems not, as I always had the outof memory error. Did I miss anything important? Thanks. I am new to XML process.

Answer: 
Well ... Typically you will need at least some assembly at the very lowest levels, for machine-dependent initialization and so on.

So "no" strictly speaking, but that can really be a very small proportion, making the real answer "yes".

[BeOS](http://en.wikipedia.org/wiki/BeOS) is an example of an operating system written in C++.
Yes. C++ is [Turing Complete](http://en.wikipedia.org/wiki/Turing_completeness)... So is Excel, which a clever dude discovered while implementing [a realtime 3D engine](http://www.gamasutra.com/view/feature/3563/microsoft_excel_revolutionary_3d_.php).