la "id"(identificador) es generalmente generada por una base de datos para evitar sobreescritura de datos, o siguiendo algun algoritmo de sucesion unico, como ejemplo te pongo un script que tenia guardado por ahi haber si te orienta un poco.
primero en tu servidor local creas este arbol de archivos y directorios
/index.php
/data_xml/template.php
/data_xml/1.xml
/data_xml/2.xml
la "id"(identificador) es generalmente generada por una base de datos para evitar sobreescritura de datos, o siguiendo algun algoritmo de sucesion unico, como ejemplo te pongo un script que tenia guardado por ahi
primero en tu servidor local creas este arbol donde sea accesible
/index.php
/data_xml/template.php
/data_xml/1.xml
/data_xml/2.xml
/data_xml/template.phpcreamos nuestra plantilla
Código PHP :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo $titulo;?></title>
<style type="text/css">
h1{ color:green; border :1px solid red}
</style>
</head>
<body>
<h1><?php echo $titulo;?></h1>
<div><?php echo $contenido;?></div>
</body>
</html>
/data_xml/1.xmlcreamos un dato de ejemplo
Código XML :
<?xml version="1.0" encoding="UTF-8"?>
<datos>
<titulo>Prueba 1</titulo>
<contenido><![CDATA[ <strong style="color:blue">hola</strong> ]]></contenido>
</datos>
/data_xml/2.xmlcreamos otros datos de ejemplo
Código XML :
<?xml version="1.0" encoding="UTF-8"?>
<datos>
<titulo>Prueba 2 con cosas asi</titulo>
<contenido><![CDATA[ <strong>hola</strong> otro contenido neuvo para escapar ]]></contenido>
</datos>
/index.phpcreamos nuestro archivo que maneja todo esto
Código PHP :
<?php
//creamos una constante que indica la ubicacion de nuestro script
define("RAIZ",dirname(__FILE__));
//recivimos el id que debe ser numerico y si no cargamos un id por defecto
$id = isset($_GET['id'])? (int)$_GET['id'] : 8;
//ubicacion del archivo
$path = RAIZ .'/data_xml/'.$id.'.xml';
//comprobamos que los datos exista
if(file_exists($path))
{
$el_xml = simplexml_load_file($path);
}
else
{
//si no existe cargamos el primero que encuentre
$archivos = glob(RAIZ .'/data_xml/*.xml');
//obtenenmos el id del primer archivo
$nombre = current($archivos );
$el_xml = simplexml_load_file($nombre);
}
//cargamos las variables del template
$titulo = $el_xml->titulo;
$contenido = $el_xml->contenido;
//cargamos nuestro template
require RAIZ . '/data_xml/template.php';
?>
bueno una base de datos es mas ordenada y preserva la integridad de los archivos la cual es su mision pero todo depende de como quieres hacerlo,
a para generar los ides te puedes valer de un archivo simple en txt o alguno que lleve la cuenta incremental