Hierarchische <div>
1. Hierarchie-Ebenen einfügen
Wie macht man aus den automatisch erstellten flachen <div> eine hierarchische <div>-Struktur?
Beginn in head-Gruppe
In eine <head>-Gruppe, die in Wirklichkeit aus zwei Gruppen besteht, muss ein <div> eingefügt werden: Zum Beispiel <div> nach der heading von chapter 1 und das zugehörige </div> am Ende von chapter 1 (direkt vor chapter 2). Man muss also den gesamten Bereich der untergeordneten Hierarchie-Ebene markieren. Die Struktur innerhalb der neuen Hierarchie-Ebene bleibt gleich.
Beispiel:
<head> chapter 1 <head> section 1.1 Text <head> section 1.2 Text <head> chapter 2 Text
wird automatisch zu:
<div> <head> chapter 1 <head> section 1.1 Text </div> <div> <head> section 1.2 Text </div> <div> <head> chapter 2 Text </div>
Korrekt ist aber:
<div> <head> chapter 1 <div> <head> section 1.1 Text </div> <div> <head> section 1.2 Text </div> </div> <div> <head> chapter 2 Text </div>
- Die div-levels werden von einem Skript automatisch korrekt vergeben. Die Einrückungen dienen nur zur Orientierung.
- Wie werden die korrekten div-Typen möglichst effizient eingetragen?
- Was ist in dem Fall, wenn es zwar eine Hierarchie gibt, aber es gibt nicht für jede Ebene eine eigene Überschrift? Beispiel: Die Briefe im letzten Kapitel von Benedetti. Wohl kein Problem, außer dass man eine editorische Entscheidung treffen muss.
Beginn außerhalb von head-Gruppe
Wieder muss das zusätzliche <div> muss genau den Bereich der untergeordneten <div>-Ebene umfassen. Aber diesmal stimmt die Zahl der <div> bereits. Man muss daher ein </div> von vor dem Bereich der untergeordneten Hierarchie-Ebene bis direkt hinter die Hierarchie-Ebene verschieben.
Beispiel:
<head> chapter 1 Text <head> section 1.1 Text <head> section 1.2 Text <head> chapter 2 Text
wird automatisch zu:
<div> <head> chapter 1 Text </div> <div> <head> section 1.1 Text </div> <div> <head> section 1.2 Text </div> <div> <head> chapter 2 Text </div>
Korrekt ist aber:
<div> <head> chapter 1 Text <div> <head> section 1.1 Text </div> <div> <head> section 1.2 Text </div> </div> <div> <head> chapter 2 Text </div>
2. Änderungen innerhalb einer Hierarchie-Ebene
Merge
Ein überflüssiges <div> soll entfernt werden. In diesem Fall muss man direkt aufeinanderfolgende </div> und <div> entfernen:
<div> <head> chapter 1 Text </div> <div> <head> Aliter Text </div> <div> <head> chapter 2 Text </div>
könnte man machen zu
<div> <head> chapter 1 Text <head> Aliter Text </div> <div> <head> chapter 2 Text </div>
- Dieser Fall ist sicher seltener als das Einfügen von hierarchischen <div>, denn es beinhaltet immer eine editorische Entscheidung.
- Man muss wohl nie eine Hierarchie-Ebene entfernen, denn das Skript erzeugt keine.
<div> aufteilen
Das <div body> fehlt dabei immer noch. Sollte das div-Skript bereits ein <div body> einfügen? Dann wird es wahrscheinlich auch leichter und fehlerfreier, <div front> etc. einzufügen.
In diesem Fall muss man oft ein zusätzliches <div> auf der gleichen Ebene einfügen, also ein vorhandenes <div> aufteilen. Dafür fügt man an passender Stelle ein </div> und <div> ein. Beachte, dass auch ein div-Typ geändert werden muss (im Beispiel von body zu front).
<div body> <div> <head> dedication Text </div> <div> <head> chapter 1 Text </div> </div>
wird zu
<div front> <div> <head> dedication Text </div> </div> <div body> <div> <head> chapter 1 Text </div> </div>
Footer
Footer, die als Beginn eines neuen <div> markiert werden: Ist das ein reales Problem, will sagen, produziert das Skript diesen Fehler überhaupt? Die Beispiele sind also hypothetisch.
Fall 1: Der Footer bewirkt ein überflüssiges <div>. Das ist vergleichbar mit Merge:
<div> <head> chapter 1 Text </div> <div> <head> Finis <pb> </div> <div> <head> chapter 2 Text </div>
wird zu
<div> <head> chapter 1 Text <head> Finis <pb> </div> <div> <head> chapter 2 Text </div>
Fall 2: Der Footer wird dem falschen <div> zugeschlagen. Dann muss man die <div>-Grenze verschieben:
<div> <head> chapter 1 Text </div> <div> <head> Finis <head> chapter 2 Text </div>
wird zu
<div> <head> chapter 1 Text <head> Finis </div> <div> <head> chapter 2 Text </div>
3. Hierarchien mit dem Skript
Ist es möglich, schon mit dem Skript eine hierarchische Struktur zu erzeugen, die zumindest annähernd richtig ist?
Man könnte auch Parameter erlauben, die zum Beispiel in Form einer regex beschreiben, wann etwas in einer untergeordneten Hierarchie-Ebene steht.