Ich denke, dass XMLTABLE da eher das liefert, was du benötigst (SQL-Handbuch).
In der Spaltendefinition kann man dann nämlich noch weitere Pfade angeben:

Code:
SELECT     U."PO ID", U."Part #", U."Product Name",
    U."Quantity", U."Price", U."Order Date"
  FROM PURCHASEORDER P,
       XMLTABLE(XMLNAMESPACES(’http://podemo.org’ AS "pod"),
               ’$po/PurchaseOrder/itemlist/item’ PASSING P.PORDER AS "po"
        COLUMNS "PO ID" INTEGER PATH ’../../@POid’,
            "Part #" CHAR(6) PATH ’product/@pid’,
            "Product Name" CHAR(50) PATH ’product/pod:name’,
            "Quantity" INTEGER PATH ’quantity’,
            "Price" DECIMAL(9,2) PATH ’product/pod:price’,
            "Order Date" TIMESTAMP PATH ’../../dateTime’
            ) AS U
   WHERE P.STATUS = ’NEW’