Tim Tepaße: Warum ist eigentlich nur eine ID pro Element erlaubt?

Hallo,

(ich wurde zu diesem Posting gezwungen, nachdem ich im SelfChat darüber
lamentierte, daß das Forum langweilig sei. Nun denn.)

Etwas, das ich mich schon länger Frage ist, weshalb man pro HTML-Element
nur einen Wert für das ID-Attribut angeben kann. (alternativ auch SGML oder
XML-Element, wobei ich mir bei SGML mangels des Standards das Wissen fehlt.)

Zur Erinnerung: Eine ID zeichnet sich dadurch aus, daß sie in einem
Dokument eindeutig sein muß, sie darf also kein zweites Mal vorkommen.
Also kein:

<element1 id="bla">...</element1>
  ...
  <element2 id="bla">...</element2>

Dies ließe sich so darstellen:

__________
   ____        |          |
  |    | ----> | element1 |
  | id |       |__________|
  |____|        __________      = BÖSE!
        \      |          |
         ----> | element2 |
               |__________|

Diesen Fall meine ich aber nicht.

Schließlich ist eine eindeutig ID für ein Dokument recht praktisch, sei
es in CSS oder - wie sie in XHTML - verwendet wird, als Anker.

Ich meine diesen Fall:

<element id="id1 id2"> ... </element>

Oder als Kästchen:

_____
  |     |
  | id1 |       _________
  |_____| ---> |         |
   _____       | element |
  |     | ---> |_________|
  | id2 |
  |_____|

In diesem Fall ist die Eindeutigkeit der IDs immer noch gewahrt, nur
treffen jetzt zwei IDs auf ein Element zu. Bei allen Funktionalitäten
der ID sollte es keine Probleme geben, ob CSS, Anker-Funktionalität,
XSL(T), XPath und ähnliche wichtige Abkürzungen.

In den jeweiligen Standards ist so eine Flexibilität nicht gegeben,
es würde keine größere Änderung erfordern, nur die Änderung des
Datentypes des id-Attributes, ähnlich den NMTOKENS des name-Attributes.
(Aus XHTML-Mod, in HTML 4 ist es noch CDATA-LIST, was für ID falsch
wäre.)

...

Weswegen komme ich überhaupt darauf? Ich habe mir mal ein hypothetisches
XHTML-Dokument einer hypothetischen Seite vorgestellt. Ein typisches
langweiliges Textdokument, auf dem in einzelnen Abschnitten irgendwas
über irgendwas steht:

<h2 id="newton">Isaak Newton</h2>
  <p>...</p>

<h2 id="leibnitz">Gottfried Wilhelm Leibnitz</h2>
  <p>...</p>

<h2 id="descartes">René Descartes</h2>
  <p>...</p>

<h2 id="huygens">Christiaan Huygens</h2>
  <p>...</p>

Soweit so gut. Die IDs werden hier zum Beispiel als Anker benutzt, so
daß man zum Beispiel URIs der Form http://example.org/1600#descartes
hat. An und für sich sollte sich das Dokument nicht unbedingt ändern,
Cool URIs don't change und so. Aber vielleicht ist es eine Übersichtsseite
oder sowas wie Natur-Philosoph der Woche und die können sich ja ändern.

Also mal angenommen Descartes fliegt von der Seite, weil eh niemand weiß,
mit welchem Accent der Kerl seinen Vornamen jetzt schreibt, man will aber
nicht die URI http://example.org/1600#descartes verschwinden lassen, siehe
obiges jetzt mal nicht in Frage gestelltes Dogma. Was macht man nun? Ich
hatte mir folgendes vorgestellt: Man erstellt unten auf der Seite einen
Archiv-Bereich, auf denen sich immer noch rudimentäre Informationen finden
lassen, beispielsweise:

<h2>Archiv</h2>
  <p>Früher von Interesse waren hier diese netten Persönchen. Aus
  Platzgründen existieren nur noch die Einzelseiten:</p>
  <ul>
    <li><a href="/archiv/descartes">René Descartes</a></li>
  </ul>

Da man ein netter Kerl ist, will man die Anker-Funktionalität nicht
aushebeln. Wo also nun die IDs hinpacken? An den Anker oder an die
Liste nicht unbedingt, vielleicht interessiert ja noch das p-Element
mit dem erklärenden Text darüber. Also an die Überschrift:

<h2 id="descartes">Archiv</h2>

Und nun soll auch Huygens rausfliegen. (Wer schon zwei As auf einmal
im Vornamen hat...) Aber wohin? Weswegen ich dieses toll finden würde:

<h2 id="descartes huygens">Archiv</h2>

Geht aber nicht.

...

Warum? Mir fällt kein Grund ein, der gegen eine solche Beziehung sprechen
würde, siehe die Kästchengrafiken weiter oben. Fällt irgendjemanden außer
mir was ein?

...

Ist es womöglich ein Relikt aus SGML-Zeiten? Und warum sollte man das da
machen?

Ich komme darauf, wegen dieser Stelle in der von Tim Bray kommentierten
Version der XML Spezifikation, Tim Bray war einer der ursprünglichen
Autoren. Auf das »T« klicken, um seinen Kommentar dazu zu lesen. Frames
kann man eben nicht toll verlinken:
http://www.xml.com/axml/target.html#AX-OneIDPer

...

So. Die Exegese ist eröffnet. Sagt was. Aber nix langweiliges. :-)

Tim

  1. Hallo,

    Sagt was. Aber nix langweiliges. :-)

    o.k., ich bin raus ;)

    mfg NAG

    --
    signatur
  2. FsmE,

    von "nicht erlaubt" kann keine Rede sein. Du bist nur selber schuld, wenn es Konflikte gibt.

    Es *sollte* nur eine ID pro Namensraum(!) geben, weil beim DOM-Zugriff mit "getElementById('xy') nur die erste Fundstelle ausgegeben wird.

    "getElementById('xy') entspricht also einer Suchfunktion, die einen Zeiger auf das erste gefundene Datum setzt und dann stehen bleibt, nicht aber wie "getElementsByName('xy')" oder "getElementsByTagName('xy')" einen Array mit Zeigern auf alle Fundstellen. Theoretisch könnte es auch eine ZugriffsMethode "getElementsById('xy')" geben, aber die wäre programmatisch nicht sinnvoll.

    Der Grund ist der, daß das DOM für XML definiert wurde und nicht für HTML. XML kennt nicht - wie HTML - die restriktive Zuweisungsregeln des 'name'-Attributs nur für bestimmte TAGs.

    Auch in HTML kannst Du aber durchaus verschiedene IDs vergeben, und das kann sogar sinnvoll sein - etwa wenn Du Deinen Code XML-konform, d.h. analog zu "wohlgeformtem" XML schreibst.

    Beispiel:
    <div id="XMLtree">
     <div>
      <h1 id="Titel">Überschrift</h1>
      <h2 id="Untertitel">Untertitel</h2>
      <p id="Teaser">Minitext</p>
      <p id="Vortext">Alles Wesentliche</p>
      <p>Lauftext</p>
      <h2>Zwischentitel</h2>
      <p>Lauftext</p>
     </div>
     <div>
      <h1 id="Titel">Überschrift</h1>
      <h2 id="Untertitel">Untertitel</h2>
      <p id="Teaser">Minitext</p>
      <p id="Vortext">Alles Wesentliche</p>
      <p>Lauftext</p>
      <h2>Zwischentitel</h2>
      <p>Lauftext</p>
      <h2>Zwischentitel</h2>
      <p>Lauftext</p>
     </div>

    "document.getElementById('Titel')" würde Dir nur die erste Überschrift insgesamt liefern.

    "document.getElementByID('XMLtree').getElementsByTagName('div')[n].getElementById('Untertitel')"  würde Dir aber exakt den Untertitel des n-ten Artikels liefern.

    Viel Spaß beim Tüfteln.

    In sensibus mistis,
    HaThoV

    --
    Besuchen Sie http://www.4html.de, wenn Sie an einer
    Neuen Generation von Web-Publishing mitarbeiten wollen.
    1. Hi,

      von "nicht erlaubt" kann keine Rede sein. Du bist nur selber schuld, wenn es Konflikte gibt.
      <div id="XMLtree">
        <h1 id="Titel">Überschrift</h1>
        <h1 id="Titel">Überschrift</h1>
      </div>

      Setz das in eine ansonsten korrekte HTML-Seite und validiere diese. Dann wirst Du sehen, daß es _nicht_erlaubt_ ist, denselben ID-Wert mehrfach im Dokument zu verwenden.

      Tim geht es ja um genau das Gegenteil:
      nicht mehrere Elemente mit ein und demselben ID-Wert, sondern _ein_ Element, das über mehrere IDs identifiziert werden kann.

      Also eher sowas:
      <p id="bla" secondid="blubb">bla blubb</p>

      Es ist aber in der XML-Definition festgeschrieben, daß es nur (höchstens) ein Attribut pro Element geben darf, daß den Datentyp ID hat.

      @Tim: ein möglicher Grund (weiß aber nicht, ob der ausschlaggebend für die Entscheidung des W3C war:

      IDREFS darf eine Liste von IDs enthalten.
      Da pro Element nur eine ID erlaubt ist, kann aus der Anzahl der angegebenen IDs in dieser Liste direkt auf die Anzahl der "verlinkten" Elemente geschlossen werden (die ist identisch).
      Wären mehrere IDs pro Element erlaubt, wäre dies nicht möglich.

      cu,
      Andreas

      --
      MudGuard? Siehe http://www.Mud-Guard.de/
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. FsmE,

        Setz das in eine ansonsten korrekte HTML-Seite und validiere diese. Dann wirst Du sehen, daß es _nicht_erlaubt_ ist, denselben ID-Wert mehrfach im Dokument zu verwenden.

        Daß das vom HTML-Validator angemeckert würde, ist mir klar. Es funktioniert aber und ist auch XML-logisch.

        Praktisch ist es vor allem bei der Generierung dynamischer Inhalte mithilfe von dynamisch erzeugten XML-Konstrukten. Und die kriegt der Validator sowieso nicht zu Gesicht.

        HTML-konform läßt sich auch die className-Methode verwenden, ist aber etwas langsamer und umständlicher.

        <p id="bla" secondid="blubb">bla blubb</p>

        Wozu soll das gut sein?

        In sensibus mistis,
        HaThoV

        --
        Besuchen Sie http://www.4html.de, wenn Sie an einer
        Neuen Generation von Web-Publishing mitarbeiten wollen.
        1. hi,

          Daß das vom HTML-Validator angemeckert würde, ist mir klar. Es funktioniert aber und ist auch XML-logisch.

          fast ebenso klar, wie dass jetzt wieder "funktioniert aber" als "argument" kommen würde :-)

          Praktisch ist es vor allem bei der Generierung dynamischer Inhalte mithilfe von dynamisch erzeugten XML-Konstrukten. Und die kriegt der Validator sowieso nicht zu Gesicht.

          du sollst nicht validieren um des validators willen, sondern um grösstmögliche kompabilität zu unterschiedlichsten clients zu erreichen.

          gruss,
          wahsaga

          --
          http://wazgnuks.net/ - back from the dead
        2. Hallo,

          Daß das vom HTML-Validator angemeckert würde, ist mir klar. Es funktioniert aber und ist auch XML-logisch.

          Es fuktioniert heisst noch nichts.
          Logisch in XML ist das ganz und gar nicht.

          Praktisch ist es vor allem bei der Generierung dynamischer Inhalte mithilfe von dynamisch erzeugten XML-Konstrukten. Und die kriegt der Validator sowieso nicht zu Gesicht.

          Wenn du da IDs hast, die du mehrere Male zugewisen hast, bringt das erstens gerade bei dynamsichen Inhaltsgenerierung Probleme, zweitens kommt es nicht mal so weit, denn ein validierender Parser wird nichts transformieren, weil das XML nicht gültig ist.
          Versuche bitte das Beispiel: http://aktuell.de.selfhtml.org/tippstricks/xml/gruppierung1/index.htm
          mit mehreren gleichlautenden ID's umzusetzen.

          Grüße
          Thomas

        3. Hallo Hans,

          (..) und ist auch XML-logisch.

          Über logisch läßt sich debattieren, es ist jedenfalls in XML verboten.
          Zitat aus XML 1.0, 3rd Edition:

          »Validity constraint: ID
            Values of type ID MUST match the Name production. A name MUST NOT appear
            more than once in an XML document as a value of this type; i.e., ID values
            MUST uniquely identify the elements which bear them.«
            (http://www.w3.org/TR/2004/REC-xml-20040204/#sec-attribute-types)

          <p id="bla" secondid="blubb">bla blubb</p>
          Wozu soll das gut sein?

          Ein sehr hypothetisches Konstrukt habe ich im Eröffnungsposting schon
          skizziert und ich glaube nicht, daß Du auch das noch überlesen hast.

          Aber generell geht es mir um die Frage, wieso hier nicht liberaler
          standardisiert wurde, mir ist nämlich immer noch kein nachvollziehbarer
          Grund für diese Einschränkung bekannt. Ich schrieb ja auch: Exegese. ;-)

          Tim

        4. Hi,

          Daß das vom HTML-Validator angemeckert würde, ist mir klar. Es funktioniert aber und ist auch XML-logisch.

          Logisch ist es IMHO nicht, und da das Browserverhalten für diesen Fall undefiniert ist, kann es funktionieren, oder auch nicht (je nach Browser halt).

          Erfahrungsgemäß sind IE und Mozilla bei gleichen IDs z.B. toleranter (es funktioniert mitunter), Opera nicht (es geht i.d.R. schief). Da Du ja auch nicht wissen kannst, wie Browser zukünftig auf nicht-definierte Zustände reagieren -> Tonne. =:-)

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      2. Hallo Andreas,

        Tim geht es ja um genau das Gegenteil:

        Ebend.

        IDREFS darf eine Liste von IDs enthalten.

        Eigentlich ja nur eine Liste von Verweisen auf IDs, also IDREFs. Ein
        schnelles Querlesen in der HTML 4 Spezifikation zeigt mir, daß IDREFS
        nur vom headers-Attribut in Tabellen gebraucht wird, also der Verknüpfung
        von Elementen dient.

        Wobei ich die Unterscheidung zwischen ID und IDREFs für sehr .. hmm ..
        überflüssig halte. Auch wenn sie in der konkreten Implementierung
        sicherlich nötig ist.

        Da pro Element nur eine ID erlaubt ist, kann aus der Anzahl der angegebenen
        IDs in dieser Liste direkt auf die Anzahl der "verlinkten" Elemente
        geschlossen werden (die ist identisch).
        Wären mehrere IDs pro Element erlaubt, wäre dies nicht möglich.

        Ja, aber ich kann mir nich vorstellen, daß irgendjemand diesen Mangel
        für wirklich schwerwiegend halten kann. Duplikate zu entdecken, ist
        nicht wirklich schwierig. Ich kann mir jedenfalls nicht vorstellen, daß
        das ein Grund sein könnte.

        Aber sehr phantasievoll. :)

        Tim

  3. Hi,

    (ich wurde zu diesem Posting gezwungen, nachdem ich im SelfChat darüber
    lamentierte, daß das Forum langweilig sei. Nun denn.)

    Mit welchen Mitteln wurdest du gezwungen ;)

    _____
      |     |
      | id1 |       _________
      |_____| ---> |         |
       _____       | element |
      |     | ---> |_________|
      | id2 |
      |_____|

    Um mal bei deiner "Grafik" zu bleiben. Hier hast du zunächst die Flexibiltät ein und das selbe Element über 2 verschiedene ids anzusprechen. Das wirkt zunächst Flexibler. Wie sieht es aber mit der gegenteiligen Weg aus, also

    _____
       |     |
       | id1 |       _________
       |_____| <--- |         |
        _____       | element |
       |     | <--- |_________|
       | id2 |
       |_____|

    Wenn ich nun wissen will, welche id besitzt das Element, stösst man auf ein Problem.

    Eine eindeutige 1:1-Beziehung halte ich für besser.

    gruss
    Thorsten

    1. Hallo Thorsten,

      Wie sieht es aber mit der gegenteiligen Weg aus, also

      Umkehren ist ein guter Gedanke, aber ...

      Wenn ich nun wissen will, welche id besitzt das Element, stösst man auf ein
      Problem.

      ... ist das wirklich ein Problem? Wenn man fragt, welche ids das Element
      besitzt, kriegt man eine Liste von ids zurück. Etwas komplizierter, aber
      ist das gleich ein Problem?

      Wohlgemerkt, ich rede nicht von der tatsächlichen Realität, die kann man
      jetzt eh nicht mehr ändern, sondern frage mich, warum irgendwann mal die
      Entscheidung für eine 1:1-Beziehung getroffen wurde.

      Eine eindeutige 1:1-Beziehung halte ich für besser.

      Hm. Ist meine Idee nun eine n:1- oder eine 1:n-Beziehung? ;-)

      Tim

  4. Moin!

    Was hindert Dich statt eines Elements mit mehreren IDs mehrere (versteckte, unsichtbare, ausgeblendete...) Elemente mit eineindeutiger Id zu verbauen?

    Schon in dem Begriff "ID" steckt eigentlich die Eineindeutigkeit: "identifier". Alles andere wäre ein "alias" ("b.k.a" "a.k.a.") und keine ID.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. Hallo Fastix,

      Was hindert Dich statt eines Elements mit mehreren IDs mehrere (versteckte,
      unsichtbare, ausgeblendete...) Elemente mit eineindeutiger Id zu verbauen?

      Die hypothetische Realität dieser Seite und die Nicht-Eleganz dieser
      Lösung. Aber ja, wenn ich mal tatsächlich sowas machen müßte, wäre
      entweder das, aber wohl eher <a name=".."> meine Lösung.

      Schon in dem Begriff "ID" steckt eigentlich die Eineindeutigkeit:
      "identifier". Alles andere wäre ein "alias" ("b.k.a" "a.k.a.") und keine ID.

      Meinst Du? Die Universität Dortmund identifiziert mich anhand meiner
      Matrikelnummer, die Universitätsbibliothek Dortmund anhand der Nummer auf
      dem Benutzungsausweis, die Videothek ebenso, im marvin-Rechnerpool ist es
      der Benutzername. All das würde ich schon als »identifier« bezeichnen.

      Oder anders: Was ist der »identifier« für den vierten Bundeskanzler der
      Bundesrepublik Deutschland, Willy Brandt oder Herbert Ernst Karl Frahm?

      Ich sehe da nicht unbedingt eine benötigte Eindeutigkeit.

      Tim

      1. Moin!

        Schon in dem Begriff "ID" steckt eigentlich die Eineindeutigkeit:
        "identifier". Alles andere wäre ein "alias" ("b.k.a" "a.k.a.") und keine ID.

        Meinst Du? Die Universität Dortmund identifiziert mich anhand meiner
        Matrikelnummer, die Universitätsbibliothek Dortmund anhand der Nummer auf
        dem Benutzungsausweis, die Videothek ebenso, im marvin-Rechnerpool ist es
        der Benutzername. All das würde ich schon als »identifier« bezeichnen.

        Das ist es jeweils auch. Und in den jeweiligen Betrachtungsräumen ist die jeweilige ID auch hinreichend eineindeutig. Ok, Du kannst Dich mehrfach anmelden, aber in manchen Systemen kann ich mir gut vorstellen, daß dies als Fehler gilt- oder die Definition, dessen, was da wem eineindeutig zugeordnet ist zielt nicht auf die Person, sondern auf ein "Konto", welches wiederum einen Alias auf Dich als Person darstellt. In HTML ist es eben so definiert:

        Element <-- eineindeutige Zuordnung --> ID

        Dein Vergleich hinkt also nicht nur, er fährt in einem wildgewordenem eklektrischem Rollstuhl.

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
  5. Hallo,

    Ich meine diesen Fall:
      <element id="id1 id2"> ... </element>
    Oder als Kästchen:

    _____
      |     |
      | id1 |       _________
      |_____| ---> |         |
       _____       | element |
      |     | ---> |_________|
      | id2 |
      |_____|

    In diesem Fall ist die Eindeutigkeit der IDs immer noch gewahrt, nur treffen jetzt zwei IDs auf ein Element zu.

    Dann ist, wie schon gesagt wäre aber eine 1:1 beziehung nicht mehr gegeben.

    Bei allen Funktionalitäten der ID sollte es keine Probleme geben, ob CSS, Anker-Funktionalität, XSL(T), XPath und ähnliche wichtige Abkürzungen.

    In den jeweiligen Standards ist so eine Flexibilität nicht gegeben, es würde keine größere Änderung erfordern, nur die Änderung des Datentypes des id-Attributes, ähnlich den NMTOKENS des name-Attributes.

    Ein attribut mit NMTOKEN-Typ wird eh oft dazu genutzt als ID zu fungieren, denn da kann man auch mit Zahlen einen Wert beginnen.

    Ich verwende in sehr vielen Fällen IDs um Links zu generieren, oder bestimmte Inhalte anzuzeigen, da wäre es fatal, wenn ein Element plötzlich mehr als einen ID-Wert hätte. Z.B. bei Anzeige einer Unterseite eines Dokuments, oder den Link auf dieselbe.
    Da würden Vergleiche wie: /pages/subpages/subpage[@id < $pageid][1] etc. nicht mehr funktionieren, weil die ID nicht mehr eindeutig ist. Ebenso in vielen anderen Bereichen wo ein ID als Vergleichbasis dient.

    Cool URIs don't change und so.

    Das finde ich zwar auch immer wieder nett (und wo es geht lohnt sich auch daran zu halten), aber nicht immer sinnvoll.

    Also mal angenommen Descartes fliegt von der Seite,  Was macht man nun?

    Nichts.
    Der Browser wird die Seite normal darstellen.

    Da man ein netter Kerl ist, will man die Anker-Funktionalität nicht aushebeln.

    Gut, dass ich nicht nett bin. ;-)

    Und nun soll auch Huygens rausfliegen. (Wer schon zwei As auf einmal
    im Vornamen hat...) Aber wohin? Weswegen ich dieses toll finden würde:

    <h2 id="descartes huygens">Archiv</h2>
    Geht aber nicht.

    Warum? Mir fällt kein Grund ein, der gegen eine solche Beziehung sprechen würde, siehe die Kästchengrafiken weiter oben. Fällt irgendjemanden außer mir was ein?

    Wenn wir schon genau sein wollen: genaugenommen ist deine ID id="descartes huygens" kein ID-Typ sonder ein IDREFS-Typ, denn weder Descarter noch Huygens sind verschwunden, sondern nur wo anders hingekommen (in dem Fall ins Archiv). Und wenn sie doch ganz verschwunden sind, brauchst du auch keine ID.

    Außderdem: deine Antwort löst deine Frage auch nicht, denn es kann auch vorkommen, dass aus id="descartes huygens"  ein id="descartes" wird, womit ein Anker  href="#huygens" auch wieder ins Leere führen würde.

    Dürfte eine ID mehr als nur einen Wert haben, würde das auch sehr viel mehr von der Software verlangen: Parsen würde viel aufwendiger ausfallen. Es müssten viele Funktionalitäten geändert werden.
    Aber auch SGML und XML würden nicht ungeschont davonkommen: IDREF und IDREFS müssen dann ebenfalls neu definiert werden.
    Gut, das sind keine Argumente die _explizit_ dagegen sprechen, einer ID mehrere Werte geben zu können, aber sie spielen bei den Überlegungen dazu eine nicht unwesentliche Rolle.
    "B.9 Unique Identifier Attributes
    A urlique identifier ("ID") is an attribute that names an element to distinguish it from all other elements. An SGML markup parser can perform common processing for ID attributes, thereby minimizing the implementation effort for procedures.
    The purpose of IDS is to allow one element to refer to another: for [...] "

    Grüße
    Thomas

    1. Hallo Thomas,

      Dann ist, wie schon gesagt wäre aber eine 1:1 beziehung nicht mehr
      gegeben.

      Ja, aber mein Postinggrund ist ja eben genau der, daß ich hier keine
      strikte 1:1-Beziehung sehe, eine Eindeutigkeit wird ja nur in eine
      Richtung benötigt. Ich versuche einen Grund zu erkennen, wieso diese
      Eindeutigkeit in beide Richtungen benötigt wird.

      Ich verwende in sehr vielen Fällen IDs um Links zu generieren, oder
      bestimmte Inhalte anzuzeigen, da wäre es fatal, wenn ein Element plötzlich
      mehr als einen ID-Wert hätte. Z.B. bei Anzeige einer Unterseite eines
      Dokuments, oder den Link auf dieselbe.

      Ich kann Dir hier nicht ganz folgen. Wo liegt denn das fatale daran, die
      IDs bleiben doch alle weiterhin für diesen Zweck nutzbar. Oder missverstehe
      ich Dich hier gerade? Kannst Du das noch mal mehr erklären?

      Ebenso in vielen anderen Bereichen wo ein ID als Vergleichbasis dient.

      Ich sehe nämlich nicht, wieso mehr eindeutige IDs nicht weiterhin als
      Vergleichsbasis dienen können.

      Wenn wir schon genau sein wollen: genaugenommen ist deine ID id="descartes
      huygens" kein ID-Typ sonder ein IDREFS-Typ, (..)

      Nein. Mein id="descartes huygens" würde ein hypothetischer Datentyp
      namens IDS, also eine Liste oder der Plural von IDS, ähnlich wie NMTOKENS
      der Plural von NMTOKEN ist. IDREFS ist der Plural von IDREF und das ist
      sehr streng genommen keine ID, sondern nur ein Verweis auf eine ID, wie
      ich gerade schon bei Andreas schrieb: [pref:t=81022&m=471688]. Sozusagen
      Pointer auf Pointer auf Elemente. Ja, diese Unterscheidung ist etwas sehr
      streng bis analfixiert, ja. ;-)

      Aber IDREF und IDREFS als Datentypen werden auch nur in solchen Fällen
      benutzt, in der DTD von HTML 4 Strict finde ich sie nur bei den Attributen
      for für das Element label und beim Attribut headers für das Element th,
      in beiden Fällen dienen sie explizit dafür, von dem jeweiligen Element
      eine »Verknüpfung« auf das bzw. die jeweiligen anderen Elemente zu
      schaffen.

      denn weder Descarter noch Huygens sind verschwunden, sondern nur wo anders
      hingekommen (in dem Fall ins Archiv). Und wenn sie doch ganz verschwunden
      sind, brauchst du auch keine ID.

      Der Clou ist ja, sie sind nicht wirklich verschwunden, im Bereich Archiv
      auf demselben Dokument existieren ja noch minimale Informationen über sie,
      in diesem Fall ein Link auf mehr Informationen. Gut, ich merke langsam, daß
      mein hypothetischen Beispiel sehr bemüht wird. ;-)

      Außderdem: deine Antwort löst deine Frage auch nicht, denn es kann auch
      vorkommen, dass aus id="descartes huygens"  ein id="descartes" wird, womit
      ein Anker  href="#huygens" auch wieder ins Leere führen würde.

      Das hatte ich nicht rausgestellt gestern abend - meine Frage zielt ja
      nicht auf eine konkrete Lösung für unsere jetztige, nicht perfekte
      Realität, sondern auf Spekulationen darüber, weswegen es keinen Wert
      IDS gibt. Ich sehe nichts, was »im Prinzip« dagegen sprechen würde,
      trotzdem gibt es ihn nicht. Was mich wundert. :-)

      Dürfte eine ID mehr als nur einen Wert haben, würde das auch sehr viel
      mehr von der Software verlangen: Parsen würde viel aufwendiger ausfallen.
      Es müssten viele Funktionalitäten geändert werden.

      Ja, das stimmt. Einiges wurde ja auch schon hier im Thread angesprochen.
      Und eine Änderung jetzt, wo es SGML und HTML und XML schon eine ziemliche
      Zeitlang gibt, wäre Wahnsinn.

      Aber auch SGML und XML würden nicht ungeschont davonkommen: IDREF und
      IDREFS müssen dann ebenfalls neu definiert werden.

      Das verstehe ich nicht. IDREF und IDREFS sind Referenzen zu IDs, könnten
      also wie bisher definiert bleiben. Es sei denn, man will noch etwas neues
      hinzufügen, eine Referenz auf ein Element mit einer festen _Menge_ von IDs,
      also ein IDSETREF oder noch schlimmer ein IDSETREFS. Aber da geht mir
      wirklich die Phantasie aus, wozu man das brauchen könnte.

      The purpose of IDS is to allow one element to refer to another:

      Ja. Wenn Du mir nochmal die Kästchengrafik verzeihst:

      ___________                       _______
           |           |  hat ein Attribut   |       |
           | element 1 | ------------------> | IDREF |
           |___________|  vom Typ IDREF(S)   |_______|
                                                 |
                                                 |
                        das auf die ID 1         |
                o--------------------------------o
                |            weist ...
                V
             ______                             ___________
            |      |      die das weitere      |           |
            | ID 1 | ------------------------> | element 2 |
            |______|   Element identifiziert   |___________|

      ^
             ______                                  |
            |      |   ... und ID 2 identifiziert    |
            | ID 2 | --------------------------------o
            |______|   das Element auch, problemlos.

      Ich sehe da immer noch keine grundlegende Änderung der Funktionsweise
      von IDs, nämlich das eindeutige Identifizieren von Elementen.

      Tim

      1. Hallo Tim,

        Dann ist, wie schon gesagt wäre aber eine 1:1 beziehung nicht mehr
        gegeben.

        Ja, aber mein Postinggrund ist ja eben genau der, daß ich hier keine
        strikte 1:1-Beziehung sehe, eine Eindeutigkeit wird ja nur in eine
        Richtung benötigt. Ich versuche einen Grund zu erkennen, wieso diese
        Eindeutigkeit in beide Richtungen benötigt wird.

        Weil z.B. ein  &pageid=p3  nicht eindeutig sein kann wenn es in XML so existiert: <page id="p3 p5">, denn es könnte dann ja ebenso gut &pageid=p5 heissen.

        Ich verwende in sehr vielen Fällen IDs um Links zu generieren, oder
        bestimmte Inhalte anzuzeigen, da wäre es fatal, wenn ein Element plötzlich
        mehr als einen ID-Wert hätte. Z.B. bei Anzeige einer Unterseite eines
        Dokuments, oder den Link auf dieselbe.

        Ich kann Dir hier nicht ganz folgen. Wo liegt denn das fatale daran, die
        IDs bleiben doch alle weiterhin für diesen Zweck nutzbar. Oder missverstehe  ich Dich hier gerade? Kannst Du das noch mal mehr erklären?

        Siehe oben (und du kannst dazu auch das XSL TuT ansehen, wo ich ID und IDREFS benütze).
        Wie gesagt: wenn ein Elemente mehrere IDs hat, wäre das dann für den Prozessor nicht wirklich eindeutig, d.h. der Prozessor müsste umgeschrieben werden (gut, dass ist wieder ein Randargument, gebe ich zu).
        Was passiert aber wenn ich auf ein Element mit IDREFS referenzieren will: es steht dann irgendwo z.B.: referto="p3 p5 p6 p9", aber wenn hier jemand einen Fehler macht und beide IDs angibt, würde es eine doppelte Ausgabe erzeugen, weil es ja _zwei_ IDs gibt, auch wenn das Element nur einmal existiert.

        Ich sehe nämlich nicht, wieso mehr eindeutige IDs nicht weiterhin als Vergleichsbasis dienen können.

        Welche ID soll den Prozessor nehmen?

        Wenn wir schon genau sein wollen: genaugenommen ist deine ID id="descartes huygens" kein ID-Typ sonder ein IDREFS-Typ, (..)

        und das ist sehr streng genommen keine ID, sondern nur ein Verweis auf eine ID, [...] Sozusagen Pointer auf Pointer auf Elemente.

        Dazu sind aber IDREFS da. Du kannst ja eine ganze Kette von Elementen auf diese Weise verknüpfen.

        Der Clou ist ja, sie sind nicht wirklich verschwunden, im Bereich Archiv auf demselben Dokument existieren ja noch minimale Informationen über sie, in diesem Fall ein Link auf mehr Informationen.

        Eben, was hindert dann uns daran IDREFS zu benützen: archiv.xml#descartes (bzw. man füge hier den entsprechenden XPointer ein)

        Gut, ich merke langsam, daß
        mein hypothetischen Beispiel sehr bemüht wird. ;-)

        Ok, gehen wir zurück zur Theorie. ;-)

        Ich sehe nichts, was »im Prinzip« dagegen sprechen würde,
        trotzdem gibt es ihn nicht. Was mich wundert. :-)

        Ich denke das Wort "eindeutig" ist eindeutig genug um zu sagen, dass etwas wirklich eindeutig sein soll ;-)

        Aber auch SGML und XML würden nicht ungeschont davonkommen: IDREF und IDREFS müssen dann ebenfalls neu definiert werden.

        Das verstehe ich nicht. IDREF und IDREFS sind Referenzen zu IDs, könnten also wie bisher definiert bleiben. Es sei denn, man will noch etwas neues hinzufügen, eine Referenz auf ein Element mit einer festen _Menge_ von IDs, also ein IDSETREF oder noch schlimmer ein IDSETREFS. Aber da geht mir wirklich die Phantasie aus, wozu man das brauchen könnte.

        Da IDREF auf eine ID referenziert muss diese dann, (nun wie denn eigentlich ?) neu definiert werden, wenn eine ID mehrere Werte haben kann. Oder wenn man jetzt eine IDS einführen würde, wäre die Frage von IDREFS insofern noch immer nicht gelöscht, dass es dann noch immer zwei oder mehrere (quasi)identische Referenzen auf ein Element geben kann, was dann wie schon gesagt auch zu mehrfachen Ausgabe führen kann.

        The purpose of IDS is to allow one element to refer to another:

        Ja. Wenn Du mir nochmal die Kästchengrafik verzeihst:

        ___________                       _______
             |           |  hat ein Attribut   |       |
             | element 1 | ------------------> | IDREF |
             |___________|  vom Typ IDREF(S)   |_______|
                                                   |
                                                   |
                          das auf die ID 1         |
                  o--------------------------------o
                  |            weist ...
                  V
               ______                             ___________
              |      |      die das weitere      |           |
              | ID 1 | ------------------------> | element 2 |
              |______|   Element identifiziert   |___________|

        ^
               ______                                  |
              |      |   ... und ID 2 identifiziert    |
              | ID 2 | --------------------------------o
              |______|   das Element auch, problemlos.

        Ich sehe da immer noch keine grundlegende Änderung der Funktionsweise  von IDs, nämlich das eindeutige Identifizieren von Elementen.

        <elementA idrefs="e1 e2">
        <elementA idrefs="e1">
        <elementA idrefs="e2">

        <elementB ids="e1 e2">

        Es identifiziert nicht eindeutig: denn <elementB> kann duch die ID e1 *und/oder* !! durch die ID e2 identifiziert werden.
        Das ist aus der sicht des Elements ebenso nicht eindeutig wie aus der sicht der ID bzw. IDS, denn es ist dann ja eine "und/oder" und nicht eine "ausschlißlich" Beziehung.

        Grüße
        Thomas

        1. Hallo Thomas,

          Weil z.B. ein  &pageid=p3  nicht eindeutig sein kann wenn es in XML so
          existiert: <page id="p3 p5">, denn es könnte dann ja ebenso gut &pageid=p5
          heissen.

          Ja, aber es wird mit p3 oder mit p5 immer nur ein Element identifiziert,
          nämlich dieses eine <page>-Element. Ich würde das mit »Eindeutigkeit«
          bezeichnen.

          Wie gesagt: wenn ein Elemente mehrere IDs hat, wäre das dann für den
          Prozessor nicht wirklich eindeutig, d.h. der Prozessor müsste
          umgeschrieben werden (gut, dass ist wieder ein Randargument, gebe ich zu).

          Ja, aber das ist wieder so ein Argument, das von der jetzigen Implementierung
          anhängen würde, nicht von meinem fiktionellen Standard, in dem auf Duplikate
          geachtet würde, siehe auch meine Antwort auf Andreas [pref:t=81022&m=471688]

          Welche ID soll den Prozessor nehmen?

          Nicht die ID, sondern das durch die ID identifizierte Element. Wenn Du
          in der Programmiersprache Deiner Wahl zwei Variablen vergleichst, dann
          läßt Du ja auch nicht die Variablennamen vergleichen, sondern den
          Variableninhalt.

          Es identifiziert nicht eindeutig: denn <elementB> kann duch die ID e1
          *und/oder* !! durch die ID e2 identifiziert werden.
          Das ist aus der sicht des Elements ebenso nicht eindeutig wie aus der sicht
          der ID bzw. IDS, denn es ist dann ja eine "und/oder" und nicht eine
          "ausschlißlich" Beziehung.

          Ich glaube unsere abweichenden Meinungen lassen sich hier so zusammenfassen,
          daß es um den Begriff der Eindeutigkeit geht. Du meinst, daß Eindeutigkeit,
          wenn sie denn gewollt ist, sowohl in die eine, als auch in die andere
          Richtung gehen muß, also sozusagen assoziativ ist. Mir reicht schon
          Eindeutigkeit in eine Richtung, nämlich von der Menge der IDs auf die
          Menge der Elemente. Injektivität sozusagen. Stimmt das so?

          Tim

          1. Hallo Tim,

            Weil z.B. ein  &pageid=p3  nicht eindeutig sein kann wenn es in XML so
            existiert: <page id="p3 p5">, denn es könnte dann ja ebenso gut &pageid=p5
            heissen.

            Ja, aber es wird mit p3 oder mit p5 immer nur ein Element identifiziert,
            nämlich dieses eine <page>-Element. Ich würde das mit »Eindeutigkeit«
            bezeichnen.

            Mir reicht schon Eindeutigkeit in eine Richtung, nämlich von der Menge der IDs auf die Menge der Elemente.

            Das Reicht aber nicht für eine Eindeutigkeit ;-)
            Welche ID identifiziert in deinem Fall das Element?  Wenn es zwei IDs sind ist es ja eindeutig nicht mehr eindeutig ;-)

            Eine interssantere Frage für mich wäre, warum eine ID nicht mit einer Zahl beginnnen darf ;-)

            Grüße
            Thomas

            1. Hallo Thomas,

              Das Reicht aber nicht für eine Eindeutigkeit ;-)
              Welche ID identifiziert in deinem Fall das Element?  Wenn es zwei IDs sind
              ist es ja eindeutig nicht mehr eindeutig ;-)

              Doch, es ist eindeutig _dieses eine_ Element. Ich halte das Element hier
              für das wichtige, nicht die IDs.

              id1 ----->
                           element
                id2 ----->

              Eine ID identifiziert eindeutig _ein_ Element, nicht zwei.

              -----> element 1
                id                         = flashc!
                   -----> element 2

              IDs haben ja keinen Selbstzweck, sondern bieten nur eine Möglichkeit,
              schnell ein Element zu identifizieren.

              Eine interssantere Frage für mich wäre, warum eine ID nicht mit einer Zahl
              beginnnen darf ;-)

              Wahrscheinlich auch so ein absurdes Relikt aus dem SGML-Standard, in dem
              ja auch nur willkürlich ohne Begründung eine Beschränkung der IDs auf eine
              1:1-Beziehung vorgeschrieben ist. ;-)

              Tim

              1. Hallo Tim,

                Das Reicht aber nicht für eine Eindeutigkeit ;-)
                Welche ID identifiziert in deinem Fall das Element?  Wenn es zwei IDs sind
                ist es ja eindeutig nicht mehr eindeutig ;-)

                Doch, es ist eindeutig _dieses eine_ Element. Ich halte das Element hier
                für das wichtige, nicht die IDs.

                id1 ----->
                             element
                  id2 ----->

                Ja, aber welche ID identifiziert dieses Element eindeutig?
                Das Element an sich ist das unwichtigste, es geht ja um das Prinzip der Identifizierung (ich vermeide jetzt aber jedwede Analogie zum Fingerabruck und Co *g*).

                IDs haben ja keinen Selbstzweck, sondern bieten nur eine Möglichkeit, schnell ein Element zu identifizieren.

                Eben. Wenn ich schnell sein will ist es von haus aus Schlecht wenn meine Software erst gucken muss ... "na is es diese oder is es die andere id". Ich kann z.B. ein Element referenziert durch eine IDREF im Speicher halten um es schnell bearbeiten, weiterverwenden etc. zu können. Kommt eine zweite Ref. mit einem anderen IDREF müssen alle Prozesse für das Element wiederholt werden (einfach gesagt: gucken ob das Element mit dem ref. ID vorhanden ist, es dann bearbeiten in den Speicher holen und ggf. auf Duplikat prüfen und das Duplikat löschen, was natürlich dann extrem blöd ist, wenn das erste Duplikat im Speicher vielleicht bereits verändert ist und ich eigentlich die veränderte Struktur haben wollte. Usw.)

                Eine interssantere Frage für mich wäre, warum eine ID nicht mit einer Zahl
                beginnnen darf ;-)

                Wahrscheinlich auch so ein absurdes Relikt aus dem SGML-Standard,

                Ich habe immer große Freude wenn gestandene Datenbankler und Programmier sich in die tieferen Gefielde von XML vortasten: dann heisst es, wir brauchen eine DTD für das XML. OK, kein Problem, stellt aber bitte erst eure ids um, so das sie nicht mehr mit einer Zahl beginnen. Da gibt es immer das totale Aufbrausen: "Wieso?!?! das XML ist doch in Ordnung!! Das gibt es nicht! Oracle hat auch nur IDs die aus Zahlen bestehen" etc. etc. etc. ;-)
                Dann macht es mir echt extra Spaß darauf hinzuweisen, dass es in XML seit eh und jeh (und eigentlich schon seit 1986) 'verboten' war solche ids zu benützen :-)

                Grüße
                Thomas

  6. Moin,

    ... wobei mir bei SGML mangels des Standards das Wissen fehlt.

    Du wolltest doch sicher schon einmal im Developerbereich in meinem Ordner developer/swen_w/ stöbern, oder? :-)

    Gruß

    Swen

    1. Hallo,

      Du wolltest doch sicher schon einmal im Developerbereich in meinem Ordner
      developer/swen_w/ stöbern, oder? :-)

      Das habe ich vor einiger Zeit auch schon und ich habe ja auch eine
      Universitätsbibliothek zur Verfügung. Aber die ISO ist auch nicht viel
      toller und schreibt einfach fest, daß und nicht, warum. Doof. Unschön.

      Aber Danke nachträglich. :)

      Tim

  7. Hallo Tim,

    ist das Dein Ernst? Stell Dir mal vor, jeder Bürger könnte soviele verschiedene Persosnalausweise haben, wie er will. Wie willst Du denn dann die bösen Buben dingfest machen? Immer wenn Du kontrolliert wirst zeigst Du halt nen anderen Perso vor. Seeehr verdächtig!

    Gruß, Andreas

    --
    <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
    hier könnte auch ruhig mal'n neues Bild stehen.
    1. Hallo Andreas,

      ist das Dein Ernst? Stell Dir mal vor, jeder Bürger könnte soviele verschiedene Persosnalausweise haben, wie er will. Wie willst Du denn dann die bösen Buben dingfest machen?

      *hehe* das ist gar nicht so abwägig wie man denkt. Ein kleiner Fehler einer Behöre und man hat plötzlich zwei Soz.Vers.-Nummer ;-)

      Grüße
      Thomas

      1. *hehe* das ist gar nicht so abwägig wie man denkt. Ein kleiner Fehler einer Behöre und man hat plötzlich zwei Soz.Vers.-Nummer ;-)

        ist es Dir so ergangen?

        Gruß, Andreas

        --
        <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
        hier könnte auch ruhig mal'n neues Bild stehen.
        1. Hallo,

          ist es Dir so ergangen?

          Sonst hätte ich es nicht geschrieben ;-)

          Grüße
          Thomas

  8. Hi,

    <element id="id1 id2"> ... </element>

    Oder als Kästchen:

    _____
      |     |
      | id1 |       _________
      |_____| ---> |         |
       _____       | element |
      |     | ---> |_________|
      | id2 |
      |_____|

    Noch ein Argument(chen) dagegen:

    Du erhältst auf irgendwelchen Wegen eine ID.
    Und auf irgendwelchen anderen Wegen eine weitere ID.

    Solange die IDs eineindeutig sind (also nur eine ID pro Element), reicht ein einfacher Vergleich der beiden IDs, um festzustellen, ob beide IDs dasselbe Element bezeichnen.

    Bei mehreren IDs pro Element ist das nicht mehr so einfach (wenn auch nicht unlösbar).

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hallo Andreas,

      Solange die IDs eineindeutig sind (also nur eine ID pro Element), reicht ein
      einfacher Vergleich der beiden IDs, um festzustellen, ob beide IDs dasselbe
      Element bezeichnen. Bei mehreren IDs pro Element ist das nicht mehr so
      einfach (wenn auch nicht unlösbar).

      Öhm, ich glaube immer noch, daß man nicht IDs vergleichen sollte, sondern
      die von den IDs identifizierten Elemente. Wenn man nur die IDs vergleicht,
      setzt man ja voraus, daß der Autor richtig gearbeitet hat, das Dokument
      also nur eineindeutige IDs besitzt. Bei validierenden XML-Prozessoren
      wäre das eine Fehlerquelle, nicht?

      Tim

      1. Hallo,

        Öhm, ich glaube immer noch, daß man nicht IDs vergleichen sollte, sondern
        die von den IDs identifizierten Elemente.

        Das ist aber ziemlich mühsam. Ein Element kann u.U. hunderte Unterlelemente haben, wenn man jetzt ein Vergleich machen muss (z.B. weil man überprüfen will ob das aktuelle Element Teil einer Gruppe ist [immer wieder Frage bei Gruppierungen]) in dem alle Unterlemente miteinbezogen verden müssen, belastet das alle involvierte Software.
        Wenn man dagegen nur die ID überprüft geht das ziemlich schmerzlos über die Bühne.

        Wenn man nur die IDs vergleicht, setzt man ja voraus, daß der Autor richtig gearbeitet hat, das Dokument also nur eineindeutige IDs besitzt. Bei validierenden XML-Prozessoren  wäre das eine Fehlerquelle, nicht?

        Das wäre auch in deinem Fall sowohl eine Voraussetzung als auch eine Fehlerquelle und letztere sogar eine noch größere denn wenn man für Elemente mehrere IDs vergeben kann, steigt damit auch die Gefahr einmal benutze IDs nochmal zu notieren.

        Grüße
        Thomas

        1. Hallo Thomas,

          Das ist aber ziemlich mühsam. Ein Element kann u.U. hunderte Unterlelemente
          haben, wenn man jetzt ein Vergleich machen muss (z.B. weil man überprüfen
          will ob das aktuelle Element Teil einer Gruppe ist [immer wieder Frage bei
          Gruppierungen]) in dem alle Unterlemente miteinbezogen verden müssen,
          belastet das alle involvierte Software.

          In einem typischen Objektbaum haben doch alle Knoten als Objekte trotzdem
          noch eine Speicheradresse, auch eine Form von ID, diesmal auf Softwareebene.
          Bei diesem Vergleich auf Gleichheit zweier Objekte/Elemente reicht das doch.

          Das wäre auch in deinem Fall sowohl eine Voraussetzung als auch eine
          Fehlerquelle und letztere sogar eine noch größere denn wenn man für Elemente
          mehrere IDs vergeben kann, steigt damit auch die Gefahr einmal benutze IDs
          nochmal zu notieren.

          Ja, aber keine Gefahr bei der Implementierung eines validierenden Prozessors
          sondern eine des Autors. Und Autoren .. nun ja, guck Dich doch mal um. ;-)

          Tim

          1. Hallo,

            Das ist aber ziemlich mühsam. Ein Element kann u.U. hunderte Unterlelemente haben, [...]

            » In einem typischen Objektbaum haben doch alle Knoten als Objekte trotzdem noch eine Speicheradresse, auch eine Form von ID, diesmal auf Softwareebene.

            Danke! ;-)
            Und wenn ich jetzt ganz fies wäre, würde ich dir ja vorhalten, dass nach deinem Prinzip es möglich sein sollte, dass zwei Speichereinheiten das Objekt identifizieren können müssten (was ja eigentlich nicht möglich sein dürfte). Aber ich bin ja nicht so *fg*.

            Bei diesem Vergleich auf Gleichheit zweier Objekte/Elemente reicht das doch.

            Das sehe ich wirklich nicht (ein). Warum sollte man seine Software dazu nötigen auf die Hardware zuzugreifen (denn Speicheradressen sind in meinem Augen noch immer eine Hardware sache, die von Software benützt werden können) wenn das erstens viel aufwendiger und zweitens  gar nicht notwendig ist - wenn man _eine_ eindeutige Zuordnung hat hat ;-)

            Ja, aber keine Gefahr bei der Implementierung eines validierenden Prozessors sondern eine des Autors. Und Autoren .. nun ja, guck Dich doch mal um. ;-)

            Sei doch nicht unfair! ;-)
            Warum sollten in einem Fall die Autoren "tolpatschig" sein und im anderen nicht?

            Grüße
            Thomas

  9. Hi Tim!

    Und nun soll auch Huygens rausfliegen. (Wer schon zwei As auf einmal
    im Vornamen hat...) Aber wohin? Weswegen ich dieses toll finden würde:

    <h2 id="descartes huygens">Archiv</h2>

    Geht aber nicht.

    ...

    Warum? Mir fällt kein Grund ein, der gegen eine solche Beziehung sprechen
    würde, siehe die Kästchengrafiken weiter oben. Fällt irgendjemanden außer
    mir was ein?

    Was spricht gegen:

    <a name="descartes"></a>
    <a name="huygens"></a>
    <h2>Archiv</h2>

    Ich sehe das eher so, dass Du versuchst "die ID zu zweckentfremden" ;-)

    Grüße
    Andreas

    --
    SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/