I've been attemption to write a very large convoluted query to extract xml out of the database. I've narrowed the problem to the following (abbreviated) piece that i can't seem to figure out why it doesn't work. This is 10r2 on linux. Any help would be greatly appreciated. SELECT XMLELEMENT("UnitPData", XMLAGG(XMLFOREST(UNIT_PROGRAM.UP_ID AS "UnitPIDKey"), (SELECT XMLELEMENT("UnitPEData", XMLAGG(XMLFOREST(UNIT_PROGRAM_EXEMPTION.UPE_ID AS "UnitPEIDKey"))) FROM UNIT_PROGRAM_EXEMPTION WHERE UNIT_PROGRAM.UP_ID = UNIT_PROGRAM_EXEMPTION.UP_ID), (SELECT XMLELEMENT("UnitPRFreqData", XMLAGG(XMLFOREST(UNIT_PROGRAM_REPORTING_FREQ.UPRF_ID AS "UnitPRFIDKey"))) FROM UNIT_PROGRAM_REPORTING_FREQ WHERE UNIT_PROGRAM.UP_ID = UNIT_PROGRAM_REPORTING_FREQ.UP_ID) ) ) FROM UNIT_PROGRAM; The error returned is: ORA-06553: PLS-306: wrong number or types of arguments in call to 'SYS_IXMLAGG' It seems like a similer construct in an enclosing piece of the sqlx works fine. chris -- //www.freelists.org/webpage/oracle-l