März 2010 Archive

Wer mit seinem Nokia-Handy ein MP4-Video aufgenommen hat und es am heimischen PC abspielen will, der wird sich eventuell wundern, dass er das Video mit seinem Lieblingsplayer nicht abspielen kann. Dies liegt daran, das Nokia ein spezielles MP4-Format nutzt, dass die meisten Player und Videobearbeitungsprogramme nicht kennen.

Abhilfe schafft hier das Konvertieren des MP4-Videos in eine AVI-Datei. Dazu kann man verschiedene Konverter-Tools nutzen. Ein kostenloses Programm, das man von Sourceforge herunterladen kann ist MP4Cam2AVI. Hier kann man seine Videodatei auswählen und sie sehr schnell ins handliche AVI-Format umwandeln.

Projektseite von MP4Cam2AVI:
http://mp4cam2avi.sourceforge.net/index.htm

Und hier der Download bei Sourceforge:
http://sourceforge.net/projects/mp4cam2avi/

Wer in Excel statt eines Zeilenumbruchs in einer Zelle nur ein Kästchen zu Gesicht bekommt, der sollte dies durch "Rechtsklick auf die Zelle -> Zellen formatieren -> Ausrichtung -> Zeilenumbruch" ändern können.

Nun sollte einfach per "ALT + ENTER" in der Zelle der Umbruch möglich sein.

Wer Formeln und Text in einer Zelle mischen möchte, der kann dies tun, in dem er den Text in Anführungszeichen setzt und ihn mit der Formel über ein & verknüpft. Dies kann dann bei gemeinsamer Nutzung so aussehen:

="Der Wert "&C78&" wird hier ganz logisch mit dem Wert "&B32&" verknüpft."

Ausführlich wird das ganze nochmal hier beschrieben:
http://computer.t-online.de/text-und-formeln-in-excel-zellen-mischen/id_15408348/index

Obwohl wir uns die ganze Zeit nur um Formulierungen in HTML gekümmert haben, sind wir XHTML doch viel näher als gedacht. So haben wir zum Beispiel die Tags und Attribute immer klein geschrieben, da XHTML diese Kleinschreibung benötigt. Oder wir haben Werte bei Attributen immer in Anführungszeichen gesetzt. All dies bringt uns XHTML schon sehr nahe. Im Prinzip gibt es einfach eine Reihe von Punkten, die zu beachten sind, wenn man von HTML nach XHMTL geht:

  • Ein Container muss in XHMTL immer geschlossen sein. Dies haben wir bislang auch immer getan. Im Prunzip könnte man gewisse Endmarken aber auch weglassen.
  • Einzeltags bzw. Einzelmarken wie <br> müssen mit einem sogenannten Delimiter abgeschlossen sein, z.B. <br/>.
  • Alle Tagnamen und alle Attributnamen müssen kleingeschrieben werden.
  • Attributwerte müssen in Anführungszeichen stehen, z.B. align="left".
  • Attribute dürfen nicht leer sein, sondern müssen immer einen Wert besitzen.
  • Manche Browser ergänzen automatisch das <html>-Element, falls man es vergisst. Bei XHTML ist dieses Element zwingend erforderlich.
  • Der Dokumententyp muss auf alle Fälle angegeben werden (siehe dazu http://www.undertec.de/blog/2010/03/online-htmlkurs-teil-22-dokumententyp-mit-doctype-angeben.html).
  • Der Namensraum muss angegeben werden, dazu gleich mehr.

Wie oben schon erwähnt, muss ein zusätzlicher Namensraum definiert werden. Diese benötigte Namensraumdefinition kommt ursprünglich aus XML, bei der Bezeichner bzw. Markennamen/Tagnamen beliebig gewählt werden können. Um eine korrekte Bezeichnung vorzuschreiben, wird neben dem Dokumententyp noch der Namensraum definiert.

Insgesamt gibt man für XHTML-Dokumente diesen Namensraum wie folgt an:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/shtml1-strict.dtd">
<html xmlns="http://www.w3c.org/1999/xhtml">
   <head>
      <title>Dies ist der Titel</title>
   </head>

   <body>


   </body>
</html>

Dabei wird dem <html>-Tag einfach ein Attribut mitgegeben, nämlich "xmlns" (XML-Namespace). Der Wert dieses Attributs ist für alle XHTML-Dokumente gleich: "http://www.w3c.org/1999/xhtml". Gleichzeitig haben wir damit in obigen Beispiel das erste korrekt geschriebene XHTML-Dokument fabriziert.

Hier noch ein kurzes Beispiel für ein Dokument, welches ganz in XHTML geschrieben ist und schon ein wenig suchmaschinenoptimiert gecoded ist:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3c.org/1999/xhtml">
   <head>
      <title>XHTML ist einfach</title>

      <meta name="keywords" content="XHTML, 1.0, einfach"/>
      <meta name="description" content="Dieses Dokument liefert ein Beispiel für ein äußerst einfaches XHTML-Dokument"/>
      <meta name="author" content="Der Autor bin natürlich ich"/>
      <meta name="copyright" content="Das bin auch ich"/>
      <meta name="generator" content="Notepad rockt"/>
      <meta name="robots" content="index, follow"/>
      <meta http-equiv="content-language" content="de">

   </head>

   <body>
 <h1>XHTML ist einfach!</h1>

 <p>In diesem Dokument soll ganz kurz verdeutlicht werden, wie einfach es ist, ein schön konformes einfaches XHTML 1.0 Dokument zu schreiben.</p>
 <p>Beachten sollte man hierbei speziell die Stichpunkte die oben aufgeführt sind, da hier alle zur Anwendung kommen.</p>

 <br/>
 <br/>

 <hr/>
 <p align="right">Copyright by Mir</p>

   </body>
</html>

Noch bevor das eigentliche HTML-Dokument beginnt, kann man dem Browser mitteilen, um welchen Dokumententyp es sich handelt. Mit dieser Deklaration ist es für den Browser einfacher zu entscheiden, ob es sich nun um ein HTML oder ein XHTML-Dokument handelt. Außerdem lässt sich hier auch die DTD-Variante angeben, die entscheidet, auf welches Vokabular innerhalb der Sprache zurückgegriffen wird. Wir haben bislang immer die "strict"-Variante verwendet, bei der alle Browser keine Probleme mit dem Vokabular haben sollten (Zwei winzige Ausnahmen haben wir gemacht, als wir uns mit dem <center>- und dem <font>-Tag beschäftigt haben, diese kommen in der Strict-Variante nicht vor. Möchte man sie verwenden, benötigt man die Transitional-Variante).

Hierzu ein Beispiel:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN"
"
http://www.w3.org/TR/REC-html40/Strict.dtd">
<html>
   <head>
      <title>Dies ist der Titel</title>
   </head>

   <body>


   </body>
</html>

In dieser etwas kryptischen Angabe stecken eine ganze Reihe an Informationen.
Zunächst wird mit "!DOCTYPE" der Dokumententyp angegeben, der bei HTML und XHTML-Dokumenten immer "html" ist. Danach kommt das Schlüsselwort "PUBLIC" das angibt, dass es sich hierbei um einen öffentlichen Standard handelt.
Nun folgt in den ersten beiden Anführungsstrichen der sogenannte Public-Identifier, der Aussagen darüber macht, welche Organisation den Standard zur Verfügung stellt, wie er heißt und in welcher Sprache er verfasst ist. Das Minuszeichen bedeutet zunächst, dass die folgende Organisation nicht nach ISO 9070 registriert ist. Danach folgt getrennt durch zwei Forward-Slashes der Name der Organisation "W3C", das World Wide Web Consortium. Dann folgt die Bezeichnung des Standards "DTD HTML 4.0" und zum Schluss die Angabe, dass dieser Standard in Englisch "en" verfasst wurde.
Nach dem Public-Identifier folgt der System-Identifier, der auf die DTD-Ressource (DTD = Dokument-Typ-Definition) als Url verweist.

Außer der Strict-Variante für HTML 4.0 und HTML 4.01, existieren auch noch eine Transitional- und eine Frameset-Variante. In der Strict-Variante werden nur notwendige HTML-Elemente zur Verfügung gestellt. Die Transitional-Variante dient der Abwärtskompatibilität und stellt zusätzliche Präsentationselemente zur Verfügung. Die Frameset-Variante enthält die Möglichkeit stärker mit Frames zu arbeiten. Der HTML-Dokumentenaufbau sieht auch hier leicht anders aus.

Generell empfiehlt es sich immer, mit der Strict-Variante zu arbeiten, da diese am ehesten gewährleistet, dass der Code auch zukunftsfähig bleibt und die Abwärtskompatibilität in Zukunft auch gesichert ist. Nichts desto trotz hier eine kleine Tabelle über die Dokumententypdeklaration für die anderen Varianten:

Sprachvariante Deklaration
HTML 4.01 Strict <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
XHTML 1.0 Strict <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

Wie oben zu sehen ist, verhält es sich bei XHMTL mit den drei Sprachvarianten ähnlich.

Zum Inhaltsverzeichnis des Online HTML-Kurs.

Mit den <meta>-Tags die ihre Verwendung im Head-Bereich haben, werden spezielle Meta-Informationen über die Seite wie Autor, Stichworte zum Seiteninhalt, etc. angegeben. Dabei sind die Informationen weniger für den Benutzer gedacht, sondern viel eher für spezielle Programme wie Suchmaschinen oder Intranet-Anwendungen. Die Meta-Informationen sind für den normalen Nutzer nur im Quelltext lesbar und werden vom Browser ansonsten nicht dargstellt. Außer den Informationen, können sich in den Meta-Einträgen aber auch Anweisungen für den Browser befinden, dazu später aber mehr.

Erst einmal ein Beispiel für die Informationen, die man in den Meta-Angaben hinterlegen kann:

<html>
   <head>
      <title>Dies ist der Titel</title>

      <meta name="abstract" content="Hier steht so etwas wie eine Überschrift">
      <meta name="audience" content="Hier wird die Zielgruppe der Leser der Seite benannt">
      <meta name="author" content="Hier steht der Autor">
      <meta name="copyright" content="Hier steht der Urheber oder Rechteinhaber">
      <meta name="date" content="Veröffentlichungsdatum">
      <meta name="description" content="Hier kommt eine ausführliche Beschreibung des Seiteninhalts">
      <meta name="generator" content="Hier kann man reinschreiben, mit welchem Editor die Seite erstellt wurde">
      <meta name="keywords" content="Hier kommen die Schlüsselwörter der Seite nach  Wichtigkeit und kommagetrennt rein">
      <meta name="publisher" content="Hier kann derjenige stehen, der die Seite veröffentlicht hat">
      <meta name="revisit-after" content="Hier kann man eine Zeitangabe reinschreiben, wann die Suchmaschine wieder vorbeikommen soll">
      <meta name="robots" content="">

      <meta name="Zusatinfo" content="Diese Meta-Tag wurde mit freiem Inhalt gestaltet">

   </head>

   <body>

   Diese Seite enthält alle wichtigen Meta-Angaben.

   </body>
</html>

In obigen Beispiel werden zwei Attribute benutzt, um die Meta-Angaben zu machen.

Zum einen das name-Attribut, welches den Namen der Meta-Informationen, die folgen, angibt. Diese Namen kann im Prinzip jeder festlegen wie er will. Allerdings gibt es eine Reihe von Namen, die eigentlich von allen verwendet werden. Diese Namen und die damit verbundenen Informationen sind als großer Block in obigem Beispiel zusammengefasst. Beachten sollte man dabei, dass alles kleingeschrieben wird, da das name-Attribut Groß- und Kleinschreibung berücksichtigt.
Darunter folgt eine Meta-Angabe die selbst definiert worden ist. Welche Meta-Angaben man verwendet oder auch nicht, kann jeder selbst entscheiden.

Das andere Attribut ist das content-Attribut. Wie der Name schon sagt, ist der Wert des Attributes der Inhalt, der in Verknüpfung mit den name-Attribut wiedergegeben werden soll.

Im Beispiel oben ist noch eine Sache wichtig, nämlich die "name=robots"-Angabe, die leer gelassen wurde. Im Gegensatz zu den anderen Meta-Angaben, bei denen jede Suchmaschinen selbst entscheiden kann, was sie berücksichtigt, berücksichtigen fast alle Suchmachinen dieses Attribut.
Mit ihm kann nämlich angegeben werden, ob die Seite indiziert werden soll oder ob zum Beispiel Links nachgegangen werden soll. In nachfolgender Tabellen stehen entsprechende Wertepaare:

Wert Beschreibung
content="index, follow" Indizieren und Links folgen
content="index, nofollow" Indizieren und Links NICHT folgen
content="noindex, nofollow" NICHT indizieren und Links NICHT folgen
content="noindex, follow" NICHT indizieren aber Links folgen
content="noarchive, nosnippets" NICHT Archivieren und KEINE Seitenauszüge wiedergeben (nur Google)

Neben all diesen Informationen kann aber wie oben schon erwähnt auch Anweisungen geben:

<html>
   <head>
      <title>Dies ist der Titel</title>

      <meta http-equiv="cache-control" content="no-cache">
      <meta http-equiv="content-language" content="de">
      <meta http-equiv="content-script-type" content="text/javascript">
      <meta http-equiv="content-style-type" content="text/css">
      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
      <meta http-equiv="expires" content="Mon, 01 Jan 2099 00:00:00 GMT">
      <meta http-equiv="pragma" content="no-cache">
      <meta http-equiv="refresh" content="0; URL=http://www....">

   </head>

   <body>

   Diese Seite enthält alle wichtigen Meta-Angaben, die als Erweiterung des HTTP-Headers gesehen werden können.

   </body>
</html>

Anstatt des name-Attributs wird nun das http-equiv-Attribut eingesetzt. In Kombination mit entsprechendem Inhalt, kann man gewisse Schalterchen im HTTP-Protokoll oder im Browser umlegen.

Eine Beschreibung der Schalter findet sich in folgender Tabelle:

http-equiv Wert Beschreibung
cache-control no-cache Verbietet das Zwischenspeichern
content-language z.B. de Gibt die Sprache des Inhalts an
content-script-type z.B. text/javascript Gibt an welcher Skript-Typ global verwendet wird
content-style-type z.B. text/css Gibt an, welche Sytlesheet-Sprache eingesetzt wird
content-type Z.B. text/html; charset=ISO-8859-1 Gibt an in welchem Zeichensatz der Inhalt der Seite ist
expires z.B. Mon, 01 Jan 2099 00:00:00 GMT Nach diesem Datum wird das Dokument beim Besuch nicht aus dem Zwischenspeicher des Browsers gelesen
pragma no-cache Verbietet das Zwischenspeichern auf Proxy-Servern
refresh Zeit in Sekunden, eventuell Webadresse Zwingt den Browser zum Neuladen der Seite nach x Sekunden, oder zum Wechsel auf eine andere Seite nach x Sekunden

Zum Inhaltsverzeichnis des Online HTML-Kurs.

Mit dem <div>-Tag lassen sich Blockcontainer definieren. Dabei werden aber anders als beim <p>-Tag keine Absätze oder ähnliches gemacht. Das <div>-Tag dient also nur dazu, die Seiteninhalte in Blöcke einzuteilen. Das <div>-Tag wird später wenn wir zu CSS kommen noch eine sehr wichtige oder sogar die zentrale Rolle bei der Seitengestaltung spielen.

<html>
   <head>
      <title>Dies ist der Titel</title>
   </head>

   <body>

   <div id="ersterblock">
   Dieser Seiteninhalt bildet einen logischen Block.
   </div>

   <div id="zweiterblock" align="center">
   Dieser Seiteninhalt bildet den nächsten Block.
   </div  

   </body>
</html>

Obwohl das <div>-Tag den Inhalt nur logisch zusammenfassen soll, kann man ihm mittels des align-Attributs eine Ausrichtung des Inhalts mitteilen: right (rechts), left (links), center (zentriert) oder justify (blocksatzmäßig).

Ein weiteres nützliches Attribut ist das id-Attribut mit dem man die Blöcke benennen kann. Diese Benennung spielt nachher bei CSS noch eine wichtige Rolle, da wir so die Gestaltung eines Blocks direkt an einen einzelnen Block binden können.

Zum Inhaltsverzeichnis des Online HTML-Kurs.

Skripte haben oft die Aufgabe interaktiv mit einem Nutzer zu interagieren, was einer normalen Webseite so nicht vergönnt ist. Die einzige Interaktion die eine Webseite beherrscht, ist das zur Verfügung stellen von Links und Inhalten. Ein Skript hingegen kann in der Lage sein, mit dem Benutzer zu kommunizieren, zum Beispiel beim Aufruf eines Formulars oder einer interaktiven Anwendung, die wie ein normales Programm funktionieren kann.

Als Skriptsprache wird eigentlich immer Javascript eingesetzt, welche sich aber in vielen Teilen von der Programmiersprache Java unterscheidet (siehe dazu auch http://de.wikipedia.org/wiki/JavaScript#Entwicklung).

Eine andere Möglichkeit interaktiv zu werden, besteht natürlich in der Möglichkeit CGIs einzusetzen, welche über Formulare, Meta-Angaben, Links oder Server-Side-Includes aufgerufen werden können (siehe dazu http://de.selfhtml.org/servercgi/cgi/cgihtml.htm#cgi_aufrufe). Hierfür werden oft Programmiersprachen wie Perl oder PHP eingesetzt. Diese unterscheiden sich aber grundlegend vom Einsatz von Java-Script, da sie nicht über das <script>-Tag aufgerufen werden.

Um ein Skript einzubinden, kann man folgendermaßen vorgehen:

<html>
   <head>
      <title>Dies ist der Titel</title>
   </head>

   <body>

   <script type="text/javascript">

 QUELLCODE

   </script>

   </body>
</html>

Dabei steht zwischen der Start- und Endmarke der Quellcode in Java-Script geschrieben. Verwendet wurde hierbei das type-Attribut, in welchem angegeben wird, in welcher Sprache der Quellcode vorlegt. In Unserem Fall liegt der Quellcode als ASCII-Text vor und ist in Java-Script geschrieben.

Ein weiteres Attribut, welches im Beispiel nicht verwendet wird, ist das defer-Attribut. Es gibt an, ob das Skript Output an das HTML-Dokument zurückliefert oder nicht. Liefert es keine Ausgabe, so kann der Browser die Ausführung aufschieben. Die beiden Werte für dieses Attribut sind "false" (das Script wird sofort ausgewertet) und "true" (die Auswertung wird aufgeschoben).

In obigen Beispiel wurde das Script im body-Bereich eingebunden. Es kann aber genauso gut auch im Head-Container untergebracht werden.

Eine andere Alternative Skripte einzubinden, bietet folgende Möglichkeit:

<html>
   <head>
      <title>Dies ist der Titel</title>
   </head>

   <body>

   <script type="text/javascript" src="script.js"></script>

   </body>
</html>

In diesem Beispiel wird ein Skript eingebunden, welches als gesonderte Datei auf dem Server liegt. Dies hat den Vorteil, dass man den Code innerhalb der Datei mehrmals einsetzen kann, ohne dass man in immer wieder in das HTML-Dokument schreiben muss. Auch kann man so externe Skripte aufrufen, die zum Beispiel als Analyse-Werkzeuge für die eigene Homepage dienen können (z.B. Statistiktools wie Google Analytics).

Sollten Skripte einmal vom Browser nicht unterstützt werden, so kann man sich mit dem <noscript>-Tag behilflich sein:

<html>
   <head>
      <title>Dies ist der Titel</title>
   </head>

   <body>

   <script type="text/javascript" src="script.js"></script>

   <noscript>Ihr Browser unterstützt dieses Skript nicht!</noscript>

   </body>
</html>

Dabei muss man zwischen zwei Fällen unterscheiden. Einmal kann der Browser gar keine Skripte ausführen, dann werden alle <noscript>-Container im Dokument angezeigt. Ein anderer Fall stellt sich dar, wenn der Browser nur eine bestimmte Skriptsprache nicht beherrscht, dann wird der nachfolgende <noscript>-Container dargestellt.

Im Gegensatz zum <script>-Tag, darf das <noscript>-Tag nicht im head-Bereich stehen.

Zum Inhaltsverzeichnis des Online HTML-Kurs.

Wer wissen möchte welche Debian-Version auf seinem System läuft, der kann in folgender Datei dies nachlesen:

/etc/debian_version

Wer beim Updaten seines System mit "apt-get upgrade" bei einer Paketinstallation auf folgenden Fehler stößt, muss nicht gleich verzweifeln.

defektes Tar-Dateisystem - Paketarchiv ist defekt

Denn ein einfaches Bereinigen des Caches kann das Problem schon lösen. Dazu einfach folgenden Befehl eingeben um den Installationspuffer zu löschen:

apt-get clean

Nach "apt-get clean" kann man dann einfach noch mal "apt-get upgrade" eintippen. Nun sollte der Fehler nicht erneut auftreten und das Problem gelöst sein.

Siehe dazu auch das Forum der Ubuntu-Benutzer:
http://forum.ubuntuusers.de/topic/paketarchiv-defekt/

Über dieses Archiv

Diese Seite enthält alle Einträge von Undertec Blog von neu nach alt.

Januar 2010 ist das vorherige Archiv.

April 2010 ist das nächste Archiv.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.

Juli 2013

So Mo Di Mi Do Fr Sa
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Etter EDV- und IT-Dienstleistungen
Powered by Movable Type 5.04

Google Werbung:

Google Werbung: