Según mi punto de vista hay tres metodologías a seguir:
- Generar en el lado servidor el archivo XHTML correspondiente al nodo explorado.
- Incluir todo el árbol en el archivo XHTML e ir mostrando el contenido con CSS (¿o JavaScript?).
- Cargar cada nodo mediante AJAX (JavaScript) cuando sea necesario..
El primer enfoque es el que se adapta más al estándar; el contenido en el XHTML, la presentación en las CSS y el comportamiento, si lo hay, para JavaScript; pero tiene un inconveniente, requiere el uso de un lenguaje de script en el lado servidor. ¿Qué pasa si no está disponible o por cuestiones de rendimiento no queremos procesar cada una de las páginas servidas?
El segundo enfoque también parece acertado, pero me invaden varias dudas. ¿Elegir que nodo se va a mostrar en cada momento, pertenece a la presentación o al comportamiento? ¿Es correcto incluir en el XHTML contenido que no se va a mostrar al mismo tiempo?
El tercer enfoque es análogo al primero en el lado cliente. Reduce considerablemente la carga de servidor pero tiene varias pegas. ¿El AJAX respeta la separación? ¿El estándar w3c lo permite? ¿Escoger el nodo a presentar en cada momento le pertenece a JavaScript o a CSS?
Como veréis no acabo de comprender la separación al 100%, es más, estoy convencido de que es imposible aplicarla al 100% a diseños complejos. Una solución al problema es la de adoptar un diseño más apropiado, cierto, pero a mi lo que me interesa es la solución de ese hipotético caso y no la mejor solución.
Gracias por adelantado.