El problema es interesante y resulta interesante pensar en una solución.

Quizá se pueda ir por una solución tipo docbook donde existe anidación. 
Para lo que planteas, se podría usar algo así como:

<div class="libro">
<div class="seccion"> <!-- Nivel 1-->
  <p class="titulo">....</p>
  <p>....</p>
  <p>....</p>
  <p>....</p>
  <p>....</p>  
  <div class="seccion">  <!-- Nivel 2-->
    <p class="titulo">....</p>
    <p>....</p>
    <p>....</p>
    <p>....</p>
    <p>....</p>
    <div class="seccion">   <!-- Nivel 3-->
      <p class="titulo">....</p>
      <p>....</p>
      <p>....</p>
      <p>....</p>
      <p>....</p>
    </div>
    <div class="seccion">   <!-- Otro del nivel 3-->
      <p class="titulo">....</p>
      <p>....</p>
      <p>....</p>
      <p>....</p>
      <p>....</p>
    </div>
  </div>
</div>

(el identado es opcional :-)

Como existe una dependencia anidada, el css que se aplique, puede ser 
del tipo:

libro div.seccion {/*primer nivel*/}
libro div.seccion div.seccion {/*segundo nivel*/}
libro div.seccion div.seccion div.seccion {/*tercer nivel*/}
etc.

Para dar formato a los títulos algo así como:

libro div.seccion p.titulo {font-size: 2em;}
libro div.seccion div.seccion p.titulo {font-size: 1.5em;}
libro div.seccion div.seccion div.seccion p.titulo {font-size: 1.2em;}
etc.

Para dar formato a los párrafos algo así como:

libro div.seccion p {margin-left: 0;}
libro div.seccion div.seccion p {margin-left: 5em;}
libro div.seccion div.seccion div.seccion p {margin-left: 10em;}
etc.

Lo que me gusta de esta solución es que las secciones pueden ser 
colocadas en uno u otro lugar, es decir, no hay que cambiar atributos ni 
elementos, incluso después de terminado el documento.

Las discusiones sobre esta solución serán sobre si por semántica debemos 
utilizar h1 en vez de p.titulo; pero no creo que la idea cambie mucho. 
El planteamiento, estructural y semántico es correcto.

Suerte y un abrazo


Toni Martz escribió:
>      Hola amigos:
>
> Me gustaría saber su opinión al respecto, sobre cuál sería la manera
> correcta  semánticamente de implementar en xhtml un grupo de párrafos
> anidados hasta en 4 niveles (bien podrían ser listas) cada uno con sus
> respectivos títulos. Les comento, que  yo finalmente me he decantado por
> crear distintas class para cada <p> y para cada encabezado <h3> y <h4>, pero
> no me termina de convencer ya que semánticamente son tratados todos los
> párrafos por igual, cuando realmente tienen una estructura jerárquica.
>
> He valorado hacerlo mediante listas de definiciones <dl><dt>, pero  tampoco
> me convence,  a pesar de que podría encajar, ya que  no sé cual sería la
> forma correcta de jerarquizar los ítem. Pienso que lo ideal serían listas
> desordenadas que pudieran contener en  los elementos <li>  títulos, imágenes
> y citas. Repasando la W3C no he encontrado una forma idónea.
>
> Mi estructura, aunque es algo más compleja, bien podría representarse así:
>
> 1<h3>...</h3>
> 1<p>...</p>
> 2----<h4>...</h4>
> 2----<p>...</p>
> 3--------<h4>...</h4>
> 3--------<p>...</p>
> 3--------<h4>...</h4>
> 3--------<p>...</p>
> 3--------<h4>...</h4>
> 3--------<p>...</p>
> 2----<h4>...</h4>
> 2----<p>...</p>
> 3--------<h4>...</h4>
> 3--------<p>...</p>
> 3--------<h4>...</h4>
> 3--------<p>...</p>
> 3--------<h4>...</h4>
> 3--------<p>...</p>
> 1<h3>...</h3>
> 1<p>...</p>
> 2----<h4>...</h4>
> 2----<p>...</p>
> 2----<h4>...</h4>
> 2----<p>...</p>
>
> Gracias por sus apuntes
>
> --
> Un saludo
> Toni.Martz
> _______________________________________________
> Lista de distribución Ovillo
> Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
> Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
> http://lists.ovillo.org/mailman/listinfo/ovillo
>   

_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://lists.ovillo.org/mailman/listinfo/ovillo

Responder a