요새 개인적으로 C++용 XML parser interface를 만들어 보고 있습니다. 가능한한 C++ 답게 만들어 보려고 합니다. 자체적으로 XML parsing을 하는건 아니고 기존에 존재하는 parser들의 wrapper라고 보시면 됩니다. ((나중에 자체 parser를 제작할까도 생각중입니다만 당분간은 다른 parser들의 wrapper를 제공하는 것이 목적입니다.)) 일단 찾을 수 있었던 것들 중 제일 간단한 TinyXML 을 가지고 wrapping해보고 있는 중입니다. 이게 끝나면 제일 복잡해 보이는 Xerces 을 가지고 해보려고 합니다. 제일 간단한 것과 제일 복잡한 것의 common interface가 가능하면 그 중간에 있는 것들은 모두 가능하지 않을까라는 생각입니다. 간단히 소개를 하면 다음과 같습니다. 먼저 하나의 XML 문서는 node들로 구성됩니다. node의 종류에는 document, declaration, element, text, comment, unknown node들이 있습니다. 실제 XML 문서의 node는 아니지만 null node type이 몇몇 method의 null object design pattern 구현을 위해 존재합니다. 이들 node 클래스외에 exception 클래스와 attribute 클래스가 존재합니다. 예를 들어 보면 다음과 같습니다. <!-- document node --> <?xml version="1.0"?> <!-- declaration node --> <collection> <!-- element node --> <!-- collection of recipes --> <!-- comment node --> ... <recipe> ...