wiki:div

Version 1 (modified by Wolfgang Schmidle, 14 years ago) (diff)

--

Hierarchische <div>

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>
  • 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.
  • 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>

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 <div>, denn es beinhaltet immer eine editorische Entscheidung.
  • Man muss wohl nie eine Hierarchie-Ebene entfernen, denn das Skript erzeugt keine.

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>