Echando un vistacillo, así por encima, he encontrado un detalle que no ha comentado nadie. He marcado unas líneas con el comentario "
// <--- AQUÍ":
Código PHP:
<?php
include "libreria_web.php";// query database for records
$query = "SELECT ref_type, id_part_type, xml_tag FROM technical_items WHERE xml_tag<>''";
$consulta = consulta_bd($query);
while ($fila = ibase_fetch_object ($consulta)) // <--- AQUÍ
{
// create DomDocument object
$doc = domxml_new_doc("1.0"); // <--- AQUÍ
// add root node
$root = $doc->add_root("reference");
// iterate through result set
while(list($ref_num, $id_part_type, $xml_tag) = ibase_fetch_row($result))
{
// create item node
$record = $root->new_child("reference", "");
$record->set_attribute("ref_num", $ref_num);
// attach title and artist as children of item node
$record->new_child("id_part_type", $id_part_type);
$record->new_child("xml_tag", $xml_tag);
}
// print the tree
echo $doc->dumpmem(); // <--- AQUÍ
} // <--- AQUÍ
?>
Tal como lo pones, y adivinando qué es lo que hace la función
domxml_new_doc, este código
crea un archivo XML por cada línea que devuelve la consulta ya que la creación del archivo y su volcado están dentro del bucle y, si no he entendido mal, eso no es lo que quieres.
Por otro lado, la línea
Código PHP:
include "libreria_web.php";// query database for records
no me inspira confianza en absoluto. ¿Seguro que quieres incluir "librería_web.php"? ¿Qué funciones, objetos o trabajos contiene?