Definition av dokumenttyp



Internet är en outtömlig källa till kunskap, även när det gäller Definition av dokumenttyp. Århundraden av mänsklig kunskap om Definition av dokumenttyp har lagts och läggs fortfarande på nätet, och det är just därför som det är så svårt att få tillgång till det, eftersom det finns platser där det kan vara svårt eller till och med omöjligt att navigera. Vårt förslag är att du inte ska skeppsbrutet i ett hav av uppgifter om Definition av dokumenttyp och att du snabbt och effektivt ska kunna nå alla visdomens hamnar.

Med detta mål i åtanke har vi gjort något som går utöver det uppenbara, nämligen att samla in den mest aktuella och bäst förklarade informationen om Definition av dokumenttyp. Vi har också ordnat den på ett sätt som gör den lätt att läsa, med en minimalistisk och trevlig design som garanterar den bästa användarupplevelsen och den kortaste laddningstiden. Vi gör det enkelt för dig så att allt du behöver oroa dig för är att lära dig allt om Definition av dokumenttyp! Så om du tycker att vi har uppnått vårt syfte och du redan vet vad du ville veta om Definition av dokumenttyp, vill vi gärna ha dig tillbaka i sapientiasv.com:s lugna hav när din hunger efter kunskap väcks på nytt.

En dokumenttypsdefinition ( engelsk dokumenttypsdefinition ), förkortad DTD , är en uppsättning regler som används för att deklarera dokument av en viss typ. En dokumenttyp är en klass av liknande dokument, såsom telefonböcker eller register över inventeringsdata. Definitionen av dokumenttypen består av elementtyper, attribut för element, enheter och notationer. Konkret betyder detta att ordningen, kapslingen av elementen och typen av innehåll av attribut anges i en DTD, dvs dokumentets struktur.

En DTD specificerar syntaxen för en applikation av SGML eller XML, till exempel språken HTML eller XHTML härledda från dem . Denna syntax hålls vanligtvis i en mindre allmän form än SGML- eller XML-syntaxen.

fungera

Den syntax och semantik av en DTD är en del av SGML och XML -specifikationen. DTD kontrolleras när dokumentet läses. I SGML måste en DTD tilldelas varje dokument. Denna mappning är valfri i XML. Ett dokument baserat på DTD ( <xml version="1.0"><!DOCTYPE ...>) garanterar att den tillämpade DTD är korrekt, dvs. den avsedda syntaxen och semantiken. Fokus här är på riktigheten i uppgifterna. Ett dokument utan en extern refererad DTD eller en inkluderad DTD kontrolleras endast för välformation när det läses. Fokus här är på snabb läsbarhet. Innehållet kan skilja sig från önskad syntax och semantik. I båda fallen kan datakvaliteten kontrolleras i efterhand med hjälp av ytterligare processer.

Obs : I det följande ges exemplen i XML-syntax.

Dokumenttypdeklaration (DOCTYPE)

En dokumenttypsdeklaration etablerar anslutningen mellan ett dokument och DTD. Dokumenttypsdeklarationen ges i början av ett dokument före rotelementet. DTD kan hänvisas till som en extern fil (extern DTD) eller integreras direkt i dokumentet (intern DTD).

Syntaxen för en dokumenttypdeklaration i SGML och XML är:

<!DOCTYPE Wurzelelement SYSTEM "datei.dtd">
<!DOCTYPE Wurzelelement SYSTEM "datei.dtd" [  ]>
<!DOCTYPE Wurzelelement PUBLIC "Public Identifier" "datei.dtd">
<!DOCTYPE Wurzelelement PUBLIC "Public Identifier" "datei.dtd" [  ]>
<!DOCTYPE Wurzelelement [  ]>

I SGML tillåts även följande varianter utan systemidentifierare:

<!DOCTYPE Wurzelelement PUBLIC "Public Identifier">
<!DOCTYPE Wurzelelement PUBLIC "Public Identifier" [  ]>

Även om det inte längre finns en DTD i HTML5 , finns dokumenttypdeklarationen fortfarande i en förkortad form:

<!DOCTYPE html>

Systemidentifieraren (SYSTEM), i exemplet posten datei.dtd, innehåller filnamnet på den externa DTD. Filnamnet kan anges som valfri URI .

Den offentliga identifieraren (PUBLIC) innehåller en allmänt känd identifierare för DTD. Till exempel används identifieraren "-//W3C//DTD XHTML 1.0 Strict//EN"för att unikt deklarera DTD för XHTML . Om identifieraren är känd för systemet använder systemet tillhörande DTD och laddar inte den direkt specificerade DTD från systemidentifieraren. Detta undviker upprepad laddning av DTD i webbläsare .

Posten [ ... ]identifierar en intern DTD eller tillägg till en DTD.

Markupdeklarationer

Inom en DTD kan dokumentstrukturen definieras med deklarationer av elementtyper , attributlistor , enheter och noteringar och textblock. Speciella parameterenheter kan användas som innehåller DTD-delar och endast är tillåtna inom DTD.

Textblock är antingen CDATA eller PCDATA .

De strukturella elementen (byggstenar) definieras med hjälp av attributuppdrag:

CDATA

CDATA ( English Character Data ) identifierar en icke analyserad textblock. Syntaxen för ett CDATA-område är:

<![CDATA[Zeichendaten]]>

I teckendataområdet är alla tecken tillåtna, med undantag av igenkänningsmönstret för slutet av ]]>CDATA-området. Exempel:

<![CDATA[<Diese><Daten>werden<nicht><geparst>.]]>

Inom en enhetsdefinition i XML är syntaxen:

<!ENTITY amp "Zeichendaten">

I SGML måste CDATA-nyckelordet anges specifikt:

<!ENTITY amp CDATA "Zeichendaten">

Inom karaktärsdataområdet är alla tecken tillåtna, förutom slutidentifieringssträngen "i "..."-Zeichenketten eller 'at '...'-Zeichenketten. Exempel:

<!ENTITY amp CDATA "&#38;">

Teckendata &#38;analyseras inte av tolkaren.

PCDATA

Nyckelordet #PCDATA används för PCDATA ( engelska analyserade teckendata ) . Detta markerar ett textblock som också kan innehålla ytterligare instruktioner till tolkaren. Innehållet i detta textblock analyseras syntaktiskt av analysatorn. Till skillnad från CDATA kan endast tecken som inte introducerar taggar, deklarationer eller bearbetningsinstruktioner inkluderas. Här är till exempel förbjudet (t.ex. starttecken på en dag, t.ex. ). <<Beispiel>

Elementdeklarationer (ELEMENT)

En deklaration av elementtyp används för att definiera ett element och dess möjliga innehåll. Endast element som är definierade i DTD kan visas i ett giltigt dokument.

Innehållet i ett element kan specificeras genom att ange andra elementnamn och några nyckelord och tecken.

  • #PCDATAför karaktärsinnehåll (se PCDATA )
  • EMPTY för inget innehåll
  • ANY för något innehåll
  • , för beställningar
  • | för alternativ (i betydelsen "antingen ... eller")
  • () för gruppering
  • * för så ofta du vill (den ena efter den andra)
  • + åtminstone en gång
  • för ingen eller exakt en gång
  • Om ingen asterisk, plustecken eller frågetecken ges måste elementet visas exakt en gång
<!ELEMENT html (head, body)>
<!ELEMENT hr EMPTY>
<!ELEMENT div (#PCDATA | p | ul | ol | dl | table | pre | hr |
          h1|h2|h3|h4|h5|h6 | blockquote | address | fieldset)*>
<!ELEMENT dl (dt|dd)+>

Attributdeklarationer (ATTLIST)

Attribut <!ATTLIST Elementname Attributliste>definieras i en attributlista . Attributlistan innehåller attributnamnet , typen och specifikationerna för de enskilda attributen, åtskilda av mellanslag eller radbrytningar .

Exempel på element:

  • ID
  • IDREF och IDREFS
  • NMTOKEN och NMTOKENS
  • ANMÄRKNING och ANMÄRKNINGAR
  • Listor och NOTATION-listor

De attributspecifikationerna kan användas för att ange om ett attribut måste ske ( #REQUIRED) eller inte ( #IMPLIED) eller om det innehåller ett fast värde ( #FIXED) och vilket värde används som standardvärde om attributet inte har angetts för en tagg.

Standardvärden för attribut
#REQUIRED Attributet måste anges
#IMPLIED Attributet är valfritt
"..." Standardvärde om attributet utelämnas
#FIXED "..." Attributet har alltid ett fast värde

Exempel på attributdeklaration:

<!ATTLIST img
   id     ID       #IMPLIED
   src    CDATA    #REQUIRED
   alt    CDATA    #REQUIRED
   ismap  IDREF    #IMPLIED
>

Enhetsdeklarationer (ENTITY)

En enhet är en namngiven förkortning för en teckensträng eller ett externt dokument som kan användas inom DTD eller dokumentet. En enhet i formuläret &Name;ersätts med enhetens deklarerade innehåll . (För allmän användning, se Enhet (markeringsspråk) .)

Enheter består av strängar. Dessa kan själva innehålla enheter och välformerad markering:

<!ENTITY name "Benedikt">
<!ENTITY papst "&name;, der XVI.">
<!ENTITY wplink "<a href='http://de.wikipedia.org'>Wikipedia</a>">

Enheter kan också definieras för innehållet i en fil. En allmän eller systemidentifierare används för detta.

<!ENTITY kapitel1 SYSTEM "kapitel1.xml">
<!ENTITY wichtig PUBLIC "-//privat//WICHTIG//" "wichtig.xml">

När det gäller externa enheter kan det också specificeras att det är en icke-analyserad enhet (NDATA, icke-XML / SGML-data). I det här fallet måste en notering anges (här "gif").

<!ENTITY bild SYSTEM "../grafiken/bild.gif" NDATA gif>

Notationsdeklarationer (NOTATION)

Noteringar är anteckningar om tolkningen av externa data som inte behandlas direkt av analysatorn. Till exempel kan notationer hänvisa till ett filformat för bilder.

<!NOTATION Datentyp SYSTEM "URL">
<!NOTATION Datentyp PUBLIC "Identifikator">

NMTOKEN

NMTOKEN ( namntoken ) är relaterat till en identifierare, men är mer tillåtet med reglerna för namngivning. Till exempel är identifierare med en ledande siffra eller punkt tillåtna för en NMTOKEN, medan för en identifierare endast bokstäver, ideogram och understrykningar är tillåtna i första hand. Således är varje identifierare också en NMTOKEN, men inte tvärtom.
Exempel på NMTOKEN:

12alpha
.crc

Deklarationsexempel:

<!ATTLIST birthdate
    year NMTOKEN #REQUIRED
>

Parameterenhet

Parameterenheter innehåller en namngiven teckensträng som kan användas %Name;på nästan alla platser inom en DTD. På detta sätt kan till exempel externa filer integreras i en DTD och komponenter som upprepade gånger kan förkortas. Parameterenheter förklaras som normala enheter , med ett enda procents tecken framför elementnamnet . Exempel:

<!ENTITY % datei SYSTEM "andere-datei.ent">
%datei;

<!ENTITY % foo.inhalt "(bar|doz)*">
<!ELEMENT foo %foo.inhalt;>

Villkorliga avsnitt

Ett villkorligt avsnitt är en konstruktion som används för att slå på eller av deklarationer. Exempel:

<![INCLUDE[
  <!ENTITY hallo "welt">
]]>

Slår på deklarationen av hallo. Följande gäller i enlighet därmed:

<![IGNORE[
  <!ENTITY hallo "welt">
]]>

för att hallostänga av.

Men som ovan används villkorliga sektioner inte ensamma utan mest i kombination med parameterenheter:

<!ENTITY % weiche "INCLUDE">
<![%weiche;[
  <!ENTITY hallo "welt">
]]>

Parameterenheten %weiche;upptas av ett av de möjliga nyckelorden INCLUDEeller IGNORE. Beroende på uppdrag hallodeklareras enheten eller inte.

Med denna typ av notering kan ett villkorligt avsnitt anpassas genom att skriva över parameterenheter.

Exempel på ett kort dokument med en hänvisning till en extern DTD:

<xml version="1.0">
<!DOCTYPE hallo SYSTEM "hallo.dtd">
<hallo>Hallo Welt!</hallo>

I exemplet kan pseudoattributet också standalone="no"specificeras i XML-deklarationen (dvs. en extern DTD krävs):

<xml version="1.0" standalone="no">
<!DOCTYPE hallo SYSTEM "hallo.dtd">
<hallo>Hallo Welt!</hallo>

Innehållet i hallo.dtd:

<!ELEMENT hallo (#PCDATA)>

Kort dokument med intern DTD:

<xml version="1.0">
<!DOCTYPE hallo [<!ELEMENT hallo (#PCDATA)>]>
<hallo>Hallo Welt!</hallo>

I exemplet kan pseudo- standalone="yes"attributet också specificeras i XML-deklarationen (dvs. ingen extern DTD krävs):

<xml version="1.0" standalone="yes">
<!DOCTYPE hallo [<!ELEMENT hallo (#PCDATA)>]>
<hallo>Hallo Welt!</hallo>

Se även

webb-länkar

Opiniones de nuestros usuarios

Bodil Falk

Den här artikeln om Definition av dokumenttyp har fångat min uppmärksamhet, jag tycker att det är konstigt hur väl mätta orden är, det är liksom...elegant.

John Samuelsson

Bra inlägg om Definition av dokumenttyp.

Klara Nielsen

Jag blev glad över att hitta den här artikeln om Definition av dokumenttyp.

Emma Pålsson

Informationen om Definition av dokumenttyp är väldigt intressant och pålitlig, som resten av artiklarna jag har läst hittills, som redan är många, eftersom jag har väntat på mitt Tinder-datum i nästan en timme och det visas inte, så det ger mig det som har hållit mig upp. Jag passar på att lämna några stjärnor för företaget och skita på mitt jävla liv.