Först kan du överväga att utföra din xml-mappning inom Postgres själv med den tillgängliga inbyggda funktioner . Två fördelar med detta är att din dataabstraktionsfunktionalitet håller ihop och att Postgres är mycket bättre optimerad för att utföra denna uppgift effektivt än vad php är. Om du måste göra någon modifiering av xml på högre nivå, borde xslt göra susen.
När det gäller problemet du nämner, jag är inte säker på om du syftar på att data i tabellen har ett hierarkiskt samband?