Fixing HTML Code generieren

The Big Clean-Up: Festsetzung HTML-Generierung Code (The Hard Part)

  

Überblick

So schrecklich eine Aufgabe die Aktualisierung statische HTML-Seiten erscheinen mag, statische Dokumente haben zumindest den Vorteil der Vorhersehbarkeit. Sobald ein Dokument auf XHTML umgewandelt wird, bleibt es XHTML es sei denn, jemand es tatsächlich verändert. HTML-Code, der erzeugt wird bei weitem nicht so vorhersehbar. Sie denken vielleicht, Sie haben alle Störungen in der HTML erzeugt sie gefunden, und wandelte sie in XHTML, aber Varianten, wie der Code ausgeführt wird mit verschiedenen Daten kann dazu führen, müssen noch mehr kommen. Wenn Sie wirklich konformes XHTML zu erzeugen wollen, können Sie es bequemer, einige Aspekte Ihrer Coding-Stil ändern und nicht nur den vorhandenen Code zu beheben. XHTML strengeren syntaktischen Regeln auferlegen Disziplin, die nicht in Web-Anwendungen vor besteht, und machen sie "best practices" einen deutlich höheren Stellenwert als in der Vergangenheit.

Y2K Revisited?Programmierer überlebte erst kürzlich eine Übung in der Code-Archäologie und Reparatur - Reinigung Jahr-2000-Fehler - aber die Kosten für dieses Projekt waren enorm. Während Fehler bei der Umstellung auf XHTML ist nicht wahrscheinlich, zum Absperren der Welt Macht, stören Rettungsdienste, oder zerstören die Weltwirtschaft, ist die Bereinigung Prozess fast so wie die Arbeit, die auf Y2K geschehen war kompliziert. Auch wenn neuere Web-Anwendungen sind, wurden viele von ihnen in einem riesigen Eile von Entwicklern, die da auf andere Projekte verschoben geschrieben. Einige Entwickler, vor allem die gern schreiben "obfuscated" Code müssen große Mengen von Code, der tut, was sie soll's, ist aber schwer zu verwalten oder ändern geschaffen. Proper Codierung der Praxis kann verstanden haben, besser in der relativ kurzen Zeit im Internet existiert als in der Zeit, als die meisten der Code, der nicht Y2K-konform geschrieben wurde - aber diese Praktiken nicht unbedingt gewürdigt. Hack-and-Slay-Code, Cut-and-verschiedener Beispiele aus eingefügt wird, wurde am häufigsten im Internet (auch gefördert). (Mea culpa: Ich habe viel von dieser Art von Code-Hacking mich getan.) Da HTML-Browser wurden vergeben Geräten gibt eben nicht notwendig, um sicherzustellen, dass alle i's verteilt sind, und die T's überschritten. Wenn es sieht gut aus in wenigen dominierenden Browser und es nicht zum Absturz des Servers, ist ein Projekt oft bereit zu gehen. Die Unterscheidung zwischen Prototypen-und lieferbar verwischt hat erheblich.

Auch für Situationen, in denen richtige Codierung der Praxis befolgt wird und Programm-Verhalten sind klar und überschaubar, Eck-Schneiden häufig vorkommt, dass es schwierig zu den Programmen von HTML zu XHTML Bewegung macht. Designer, die ihre Dateigrößen schrumpfen haben herausgefunden, HTML-Regeln (und die Regeln im Browser) in Bezug auf wann und wo End-Tags benötigt werden und wie man am besten kleine Mengen von Leerraum auf der Suche nach der kleinstmöglichen Dateien zu verkleinern. Diese Art von Verknüpfungen sinnvoll beim Erstellen von Seiten im großen Maßstab - und XHTML leicht erhöhen sich die Kosten des Dokuments Generation, weil sie den Einsatz von End-Tags müssen - aber sie machen es immer schwieriger, eine Anwendung von der Generierung von HTML-Generierung XHTML wechseln. Wenn Sie oder Ihre Organisation auswählt, um XHTML zu wechseln, müssen sie wahrscheinlich eine Menge Arbeit zu tun. Der Schwierigkeitsgrad dieser Arbeit hängt von der Art des Codes müssen Sie mit - nicht so sehr die Sprache umzugehen ist oder in welcher Umgebung er läuft in schriftlicher, aber wie war es strukturiert und dokumentiert. Sie können den Code, den Sie haben, bevor sie entscheidet, ob sie den Sprung zu machen, um eine Schätzung der Kosten im Vergleich zu den Leistungen haben Erhebung. Sie können nicht die Wahl haben, natürlich, wenn Ihre Kunden oder Ihre Organisation will XML-basierten Tools für die Dokumente, die Sie erstellen. Dann müssen Sie nur noch auf dig

Vorbereitungen

Fallstricke: Groß-und KleinschreibungEine der einfachsten und offensichtlichsten Änderungen in XHTML - der vorgeschriebenen Umstellung auf Element-und Attributnamen in Kleinbuchstaben - kann einer der frustrierendsten für Entwickler, zumindest für diejenigen, die Groß-Markup in ihrem Code verwenden. Während Suchen-und-zu ersetzen, ist nicht so schwer bei der Arbeit mit statischen HTML-Dokumente, in denen es klar ist, was Markup und was nicht, kann es sein, ein Streit innerhalb eines Programms. Entwickler Konvertierung von HTML-Code auf XHTML Generation müssen aufpassen, für eine Vielzahl von Details, die den Übergang zu stören.

Fallstricke: WohlgeformtheitErzeugt Markup, "es sieht gut aus in einem Browser" Test bestanden einige ernsthafte strukturelle Probleme, die der einfachen Verwendung als XHTML verhindern, verbergen. HTML ermöglicht eine Vielzahl von syntaktischen Variationen, die nicht als XHTML parse (wie ausgelassen End-Tags) und Browsern möglich, viel mehr Möglichkeiten (wie sinnlos oder wiederholte End-Tags und ausgelassen Anführungszeichen Attributwerte). Je nachdem, wie Ihr Code geschrieben wurde, kann Aussortieren diese Fragen äußerst frustrierend leicht oder schwierig ist. "Off-by-one"-Fehler, wo Schleifen in leicht am falschen Ort endet, können die Sache noch komplizierter erheblich, vor allem, wenn diese Fehler erscheinen nur in bestimmten Kontexten. Es gibt eine Reihe typischer Situationen, in denen diese Probleme auftreten. Der Absatz element p oft wie der Zeilenumbruch Element br verwendet wird. Viele der frühen HTML-Entwickler behandelt p-Elemente wie die Absatzmarken in Textverarbeitungen verwendet, um die Enden der Absätze markieren, effektiv zu behandeln p als eine größere Zeilenumbruch als br und kein Container für Absätze. Das Fragment zeigt hier gezeigten diesem Stil:

Dieser Absatz ist die Nummer eins.  

Dieser Absatz ist die Nummer zwei.

Dieser Absatz ist die Nummer drei.

Dieser Absatz ist die Nummer vier.

In einem Template-basierten Ansatz, indem die Schließung kann nicht schwer sein. Im Code, der Text generiert ausdrücklich, zur Festsetzung dieser Wahrscheinlich erfordert indem Sie ein zusätzliches Bit-Code, fügt Ende mit dem Tag, wo angemessen. Listen und Tabellen weisen einige Code-Strukturierung Probleme. Beide sind durch den Code Durchlaufen aller eingehenden Informationen generiert, die Verarbeitung geht zu Ende, wenn die Informationen oder endet, wenn die Informationen nicht mehr angemessen ist. Weil Sie einen Teil des Codes finden Sie am Ende der Schleife, dass diese Strukturen erzeugt überspringen, es ist möglich, dass End-Tags für ein oder mehrere Elemente wird nicht immer generiert. Entwickler vertraut mit der Notwendigkeit der Tabellen-Elemente in der Nähe haben bereits Erfahrungen mit dieses Problem. (Viele Browser nicht angezeigt Tabellen, die nicht eindeutig markiert Ende haben.) XHTML-Konformität erfordert die Tabelle selbst geschlossen werden, sowie die Zellen, Kopf-und Zeilen - und sie müssen in der Reihenfolge waren sie geschlossen werden eröffnet. Die Aufrechterhaltung eines offenen Elemente Stack ist nicht notwendig, aber es kann kritisch werden, wenn der Code mehrere Pfade erfolgt durch die gleichen Informationen. XHTML-Elemente, dass keine textlichen Inhalt haben, wie img und br, können Probleme im Code führen, dass diese leer behandelt Elemente wie Start-Tags und nichts weiter. Wenn Ihr Code generische Mechanismen benutzt, um Start-Tags zu erstellen (unter Element-und Attribut-Namen-Wert-Paare als Argumente, zum Beispiel), müssen Sie auf die Logik, dass die Kontrollen Element den Namen, um zu sehen, wenn es sein sollte ein leeres Tag oder wenn es ermöglicht hinzufügen Entwickler angeben, damit Sie es als leeres Tag. Der zweite Ansatz ist flexibler, aber auch fehleranfällig.

Web-Entwickler nutzen eine Reihe von Techniken, die möglicherweise nicht zu Problemen in der Umgebung für sie ursprünglich gebaut wurden, aber die Probleme verursachen können, wenn Ihre XHTML-Dokumente Umzug in ein XML-Umfeld. Server-Side IncludesZum Beispiel, verwenden Sie HTML-Kommentare, Informationen zu speichern, dass die Server-Prozesse. Kommentare sind ein geeignetes Verfahren, dies zu tun, weil die Benutzer keine zusätzliche Inhalte sehen zu einem Server-Ausfall auf den Inhalt enthalten, sofern sie die Quelle für Kommentare zu suchen. Server Side Includes - zumindest diejenigen, die nicht Bezug Inhalte, die Wohlgeformtheit stören können, indem sie Inhalte mit unausgewogener Markup, - sollten auch weiterhin während einer Übergangsphase zu XHTML zu arbeiten. Sie können nicht beweisen, tragbare jedoch, wenn Sie das Dokument als XML-Vorlagen sind vor Erreichen der Server-Side Include-Engine analysiert. XML bietet andere Mechanismen für diese Art von Inhalten verweisen, genannt Stellen, Sondern XHTML unterstützt nicht die Erstellung von externen Stellen ausdrücklich. Server Side Includes sind wahrscheinlich hier bleiben, aber vielleicht wollen sie genau beobachten - vielleicht Analysieren des Contents vor dem Versand an die Benutzer - wenn Sie größere chirurgische Eingriffe durchführen auf Ihrer Code-Generation-Architektur.

Fallstricke: Valid XHTMLWährend HTML wohlgeformt machen generiert wird schwierig, so dass es ein gültiges XHTML ist noch schwieriger. Während einige Entwickler ihre Ergebnisse anhand der HTML 4.0 DTDs können überprüfen (mit Tools wie dem W3C HTML Validation Service), die meisten nicht, und die Disziplin der Anpassung an ein bestimmtes Dokument Struktur ist eine relativ neue Einführung für die meisten Web-Entwickler. Es ist nicht schwer zu generieren gültiges XHTML, aber Nachrüstung älterer Code kann schwierig sein.

Die Probleme bei der Erstellung gültigen XHTML beteiligt nicht viel von den Problemen bei der Umwandlung von Legacy-statischen HTML-Dokumente in XHTML beteiligt abweichen. Wie ihre statisches Dokument-Kollegen zu schaffen, eine Menge von Web-Entwicklern weggelassen Funktionen wie die HTML-, Kopf und Körper Elemente, wenn sie eine besondere Verwendung für sie in ihrem Code hatte. Titel unterstützen und die Verwendung von Meta-Elemente, die Seiten für Suchmaschinen zu identifizieren bedeutet, dass die Kopf-Element erscheint häufig auf. Ergänze die grundlegende Struktur des XHTML-Dokument ein Code, dass es links von der Regel ist nicht so schwierig - die meisten Entwickler versuchen Sie nicht, Element, um den Titel in den Körper ihres Dokuments festlegen anyway. Starten eines Dokuments mit einer DOCTYPE-Deklaration und ordnungsgemäß XHTMLized HTML-Element ist ziemlich einfach, da sorgt dafür, dass das Dokument endet mit .

Auf der anderen Seite gibt es keinen einfachen Weg, um sicherzustellen, dass Ihre erstellten Dokumente im Einklang mit den XHTML-DTDs. Auch Code, Dokumenten-Strukturen erzeugt, wie in Artikel 13, kann eine harte Zeit die Prüfung der Auswirkungen auf die Gültigkeit des Dokuments Zugabe ein bestimmtes Element oder Attribute beschrieben haben. Darüber hinaus können Text-Generatoren es nicht auf allen, bis das Dokument abgeschlossen ist. Generating gültiges XHTML (eigentlich erfordert jede gültige XML-) Aufbau der Code, der die Dokumente rund um die DTD in irgendeiner Form schreibt. Es bedeutet nicht, dass Sie eine Beschreibung DTD Struktur eines Dokuments verwenden können, um Code zu generieren - das bedeutet wahrscheinlich, dass die Entwickler, die ein besonderes System zur Generierung von Dokumenten der DTD kennen und verstehen müssen, wie die Dokumente, die sie schaffen zu erzählen, dass DTD.

Arbeiten innerhalb der durch DTDs vorgesehen ist gar nicht so schwierig für neue Projekte, auch wenn sie benötigt Programmierer zu einem viel höheren Niveau haben Verständnis für die Markup-Vokabular, mit denen sie arbeiten. Für Legacy-Projekte, jedoch benötigen Entwickler sowohl das Verständnis und eine gründliche Kenntnisse, wie Sie den alten Code gearbeitet. Kosmetische Aufräumarbeiten können grobe Fehler zu fangen, und auch die Vergangenheit zu Wohlgeformtheit Probleme mit den alten Code ein, aber die Struktur eines Dokuments Probleme können mehr Aufräumarbeiten erfordern. Sicherzustellen, dass die Block-Elemente und Inline-Elemente mischen sich richtig - oder, dass alle der Sachzwänge, die Form Strukturen eingehalten werden - die auch eine Menge Tests zu verlangen und ein Auge fürs Detail.

HinweisTrue XHTML-Konformität Forderungen gültige Dokumente. Aber HTML-Parser und Validierung von non-XML-Umgebungen kann es akzeptabel, dass Sie Ihre Unterlagen an gut geformt sein, dass XHTML nicht konform zu einer bestimmten DTD. Es wird nicht gehen von einem Test des W3C Validation Service oder jede andere Validierung von XML-Parser jedoch.

Testen, Testen, TestenWelche Strategie verwenden Sie zur Reinigung Ihrer Legacy-Code, der beste Weg, um sicherzustellen, dass es funktioniert, ist es zu testen gegen ein breites Spektrum von möglichen Situationen. Das bedeutet nicht viel von der traditionellen Prüfung der HTML-Code vor so vielen Browsern wie möglich zu bestimmen, ob der Code sieht rechts unterscheiden, aber es ist ein wenig mehr formalen Prozess, der ist wahrscheinlich besser mit XML-Parser als mit Armeen von Maschinen ausgeführt Browser erreicht. (Hoffentlich, XHTML und mehr Standard-konformen Browsern wird die Notwendigkeit für die Old-Style-Tests in der langfristig zu verringern.)

Die meisten Tools zur Überprüfung der Wohlgeformtheit oder Gültigkeit zu prüfen einem einzigen Dokument zu einem Zeitpunkt - ausgezeichnet für kleinere Arbeiten, aber nicht besonders nützlich, wenn Sie zu 4.000 Seiten oder sogar 4000 Variationen eines einzigen Code-Generierung prüfen müssen. Glücklicherweise sind die Optionen für die Prüfung mehrerer Dokumente inzwischen auf. The Web Design Group WDG HTML Validator, Abrufbar unter http://www.htmlhelp.com/tools/validator/ ist ein Web-basiertes Werkzeug zur Validierung von HTML-und XHTML-Dokumente und Websites. Es enthält eine Batch-Modus (http://www.htmlhelp.com/tools/validator/batch.html), die eine Liste von URLs und Berichte über die Konformität aller dieser Dokumente akzeptiert. (Es scheint eine Grenze von 60, aber es ist ein Anfang.) Sie können auch Ihre eigenen Tools auf dem vorhandenen XML-Parser zu bauen, aber hoffentlich mehr Werkzeuge dieser Art werden wird weithin als mehr Entwickler Übergang zu XHTML.

Tipp Liam Quinn, dem Entwickler der WDG HTML Validator, unterhält außerdem eine Liste mit weiteren Validierung Werkzeuge http://www.htmlhelp.com/links/validators.htm. Tools allein sind nicht geeignet, um alle Ihre Tests Probleme zu lösen. Testen für XHTML-Konformität ist ein Prozess, müssen Sie normalerweise an mehreren Phasen der Entwicklung durchführen. Darüber hinaus kann es Platzhalter an verschiedenen Stellen verlangen, das Verfahren für unvollständige Arbeit. Da die Validierung keine einfachen Mitteln der "Validierung bieten nur so weit in das Dokument, aber nicht über die fehlenden Teile zu sorgen," es kann schwierig sein, automatisierte Testverfahren auf Zwischenerzeugnisse Phasen der Arbeit zu nutzen. In diesen Fällen zumindest, bis jemand entwickelt eine Reihe von mehr kontrollierbar Testing Tools, ein Mensch, der liest Markup und vergleicht sie mit einem gründlichen Verständnis für XHTML 1.0 's-Strukturen stellt wohl einen besseren Ansatz für die Erprobung.

Ein Artikel eingereicht von Albert Lichtblau


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "Befestigung HTML-Code generieren" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 219 users browsing the articles directory   


  

|