Udvidbart Markup Language
| eXtensible Markup Language (XML) | ||
|---|---|---|
|
| ||
|
| ||
| Udvikler | ||
| World Wide Web Consortium | ||
| http://www.w3.org/XML | ||
| Generel information | ||
| filtypenavn |
.xml | |
| mime-type |
application/xml, text/xml | |
| Første udgivelse | 1999 | |
| formattype | opmærkningssprog | |
| forlænget fra | SGML og Unicode | |
| Standard(er) |
1.0 (fjerde udgave) 1.1 (anden udgave) | |
| åbent format |
| |
XML , akronym på engelsk for eXtensible Markup Language , oversat som 'Extensible Markup Language' eller 'Extensible Markup Language', er et metasprog, der gør det muligt at definere markup-sprog udviklet af World Wide Web Consortium (W3C), der bruges til at gemme data i læsbar form. Det kommer fra SGML -sproget og giver dig mulighed for at definere grammatikken for specifikke sprog (på samme måde som HTML i sig selv er et sprog defineret af SGML) for at strukturere store dokumenter. I modsætning til andre sprog understøtter XML databaser, hvilket gør det nyttigt, når flere applikationer skal kommunikere med hinanden eller integrere information. [ 1 ]
XML blev ikke oprettet udelukkende til sin anvendelse på internettet , men er snarere foreslået som en standard for udveksling af struktureret information mellem forskellige platforme. Det kan bruges i databaser, teksteditorer, regneark og næsten alt andet, man kan forestille sig.
XML er en simpel teknologi , der har andre omkring sig, som komplementerer den og gør den meget større, med meget større muligheder. Det spiller en meget vigtig rolle i dag, da det tillader kompatibilitet mellem systemer at dele information på en sikker, pålidelig og nem måde.
Historie
XML kommer fra et sprog opfundet af IBM i 1970'erne , kaldet GML ( Generalized Markup Language ), som opstod fra virksomhedens behov for at lagre store mængder information og dele den med andre OS og platforme. ISO kunne lide dette sprog , så i 1986 arbejdede de på at standardisere det, og skabte SGML ( Standard Generalized Markup Language ), der var i stand til at tilpasse sig en bred vifte af problemer. Ud fra den er der skabt andre systemer til at lagre information. [ 2 ]
I 1989 skabte Tim Berners Lee nettet og sammen med det HTML-sproget. Dette sprog blev defineret inden for rammerne af SGML og var langt den bedst kendte anvendelse af denne standard. Webbrowsere har dog altid stillet få krav til den HTML-kode, de fortolker, og derfor er websider kaotiske og syntaks -ikke-kompatible . Disse websider er stærkt afhængige af en specifik måde at håndtere fejl og uklarheder på, hvilket gør sider mere skrøbelige og browsere mere komplekse.
En anden begrænsning ved HTML er, at hvert dokument tilhører et fast ordforråd, etableret af DTD . Genstande fra forskellige ordforråd kan ikke kombineres. Ligeledes er det umuligt for en fortolker (f.eks. en browser) at parse dokumentet uden kendskab til dets grammatik (af DTD'en). For eksempel ved browseren, at før et <div>-tag skal enhver tidligere åbnet <p> være blevet lukket. Browsere løste dette ved at inkludere ad hoc-logik til HTML i stedet for at inkludere en generisk parser . Begge muligheder er dog meget komplekse for browsere.
Det blev derefter søgt at definere en delmængde af SGML, der tillader:
- Bland elementer fra forskellige sprog. Det vil sige, sprog kan udvides.
- Skabelsen af simple analysatorer uden nogen speciel logik for hvert sprog.
- Start fra bunden og understreg, at et dokument med syntaksfejl aldrig accepteres.
For at gøre dette udelader XML mange funktioner i SGML, der var beregnet til at gøre det nemmere at skrive dokumenter manuelt. XML er derimod rettet mod at gøre tingene lettere for automatiske programmer, der skal fortolke dokumentet.
Kritik
XML og dets udvidelser er jævnligt blevet kritiseret for deres detaljeringsgrad og kompleksitet. [ 3 ] At kortlægge den grundlæggende træmodel af XML til typesystemerne for programmeringssprog eller databaser kan være vanskeligt, især når man bruger XML til meget struktureret dataudveksling mellem applikationer, hvilket ikke var dens tilsigtede formål. Andre kritikere forsøger at tilbagevise påstanden om, at XML er et selvbeskrivende sprog [ 4 ] (selvom XML-specifikationen ikke gør en sådan påstand). JSON og YAML foreslås ofte som alternativer, begge med fokus på repræsentationen af strukturerede data snarere end fortællende dokumenter.
Fordele ved XML
- Det kan udvides: Efter det er designet og sat i produktion, kan XML udvides ved at tilføje nye tags, så det kan fortsætte med at blive brugt uden besvær.
- Parseren er en standardkomponent, der er ingen grund til at oprette en specifik parser for hver XML-sprogversion. Dette gør det muligt at bruge enhver af de tilgængelige analysatorer. På denne måde undgås fejl , og udviklingen af applikationer accelereres.
- Hvis en tredjepart beslutter sig for at bruge et dokument, der er oprettet i XML, er det nemt at forstå dets struktur og behandle det. Forbedrer kompatibiliteten mellem applikationer. Vi kan kommunikere applikationer fra forskellige platforme, uanset oprindelsen af dataene, det vil sige, vi kunne have en Linux applikation med en Postgres database og kommunikere med en anden Windows applikation og MS-SQL Server database.
- Vi omdanner data til information, da en specifik betydning tilføjes dem, og vi forbinder dem med en kontekst, som vi har fleksibilitet til at strukturere dokumenter med.
Struktur af et XML-dokument
XML-teknologi søger at løse problemet med at udtrykke struktureret information på den mest abstrakte og genbrugelige måde. At informationen er struktureret betyder, at den er opbygget af veldefinerede dele, og at disse dele er opbygget af andre dele. Så har du et træ af oplysninger. Eksempler er et musikalsk tema, som er opbygget af takter, som i sig selv er opbygget af noder. Disse dele kaldes elementer , og de er markeret med etiketter .
Et tag består af et mærke lavet på dokumentet, som betegner en del af det som et element. Et stykke information med en klar og defineret betydning. Tags har formen <navn> , hvor navn er navnet på det element, der peges på.
Nedenfor er et eksempel til at forstå strukturen af et XML-dokument:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE Edit_Message SYSTEM "Edit_Message.dtd">
<Edit_Message>
<Meddelelse>
<Afsender>
<Navn> Afsenderens navn </Navn>
<Mail> Afsenderens e- mail </Mail>
</Afsender>
<Modtager>
<Navn> Modtagers navn </Navn>
<Mail> E- mail på modtager < /Mail>
</Recipient>
<Tekst>
<Emne>
Dette er mit dokument med en meget enkel struktur
indeholder ingen attributter eller enheder...
</Subject>
<Afsnit>
Dette er mit dokument med en meget enkel struktur
indeholder ingen attributter eller enheder...
</Paragraph>
</Text>
</Message>
</Edit_Message>
Her er kodeeksemplet på DTD'en fra "Edit_Message.dtd" dokumentet:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- Dette er Edit_Message DTD'en -->
<!ELEMENT Besked (Afsender, Modtager, Tekst)*>
<!ELEMENT Afsender (Navn, Mail)>
<!ELEMENT Navn (#PCDATA)>
<!ELEMENT Mail (#PCDATA)>
<!ELEMENT Modtager (Navn, Mail) >
<!ELEMENT Navn (#PCDATA)>
<!ELEMENT Mail (#PCDATA)>
<!ELEMENT Tekst (Emne, Afsnit)>
<!ELEMENT Emne (#PCDATA)>
<!ELEMENT Afsnit (#PCDATA)>
Velformede XML-dokumenter og fejlhåndtering
Såkaldte "velformede" dokumenter er dem, der opfylder alle grundlæggende formatdefinitioner og kan derfor parses korrekt af enhver standard - kompatibel parser . Dette er adskilt fra validitetsbegrebet, der forklares senere.
- Dokumenter skal følge en strengt hierarkisk struktur med hensyn til de etiketter, der afgrænser deres elementer. Et tag skal være korrekt inkluderet i et andet, det vil sige, at tags skal være korrekt indlejret. Indholdselementer skal være ordentligt lukkede.
- XML-dokumenter tillader kun ét rodelement, som alle de andre er en del af, det vil sige, at de kun kan have ét indledende element.
- Attributværdier i XML skal altid være omgivet af enkelte eller dobbelte anførselstegn.
- XML skelner mellem store og små bogstaver. Der er et sæt tegn kaldet mellemrum (mellemrum, tabulatorer, vognretur, linjeskift), som behandles forskelligt af XML-processorer i XML-markering.
- Det er nødvendigt at tildele navne til strukturerne, typer af elementer, enheder, bestemte elementer osv. I XML har navnene nogle karakteristika til fælles.
- Konstruktioner såsom tags, enhedsreferencer og erklæringer kaldes mærker; de er dele af dokumentet, som XML-processoren forventer at forstå. Resten af dokumentet mellem mærker er data "forståelige" af folk.
Dele af et XML-dokument
Et XML-dokument består af prologen og dokumentets brødtekst samt tagtekst, der indeholder en lang række positive eller negative effekter på den valgfrie reference, som dokumentet refererer til, du skal være meget forsigtig med den del af leksikalsk grammatik, så den er sammensat ensartet.
Prolog
Selvom det ikke er påkrævet, kan XML-dokumenter begynde med et par linjer, der beskriver XML-versionen, dokumenttypen og andre ting.
Prologen til et XML-dokument indeholder:
- En XML-erklæring. Det er erklæringen, der erklærer dokumentet som et XML-dokument.
- En dokumenttypeerklæring. Det binder dokumentet til dets DTD (dokumenttypedefinition), eller DTD'en kan inkluderes i selve erklæringen eller begge dele på samme tid.
- En eller flere kommentarer og behandlingsinstruktioner.
Eksempel:
<?xml version="1.0" encoding="UTF-8"?>
Brødtekst
I modsætning til prologen er brødteksten ikke valgfri i et XML-dokument, brødteksten skal kun indeholde ét rodelement, en væsentlig funktion også for et velformet dokument. Dataindsamling er dog nødvendig for, at den fungerer korrekt.
Eksempel:
<Rediger_meddelelse>
(...)
</Edit_Message>
Elementer
XML-elementer kan have indhold (flere elementer, tegn eller begge dele), eller de kan være tomme elementer.
Attributter
Elementer kan have attributter, som er en måde at tilføje karakteristika eller egenskaber til elementer i et dokument. De skal stå mellem anførselstegn.
For eksempel kan et "elev"-element have en "Mario"-attribut og en "type"-attribut med værdierne henholdsvis "spiser kibble" og "taleno".
<Student Mario="eat croquettes" type="taleno">Dette er en dag, hvor Mario går en tur...</Student>
Foruddefinerede enheder
Enheder til at repræsentere specialtegn, så de ikke tolkes som opmærkning i XML-processoren.
Eksempel: foruddefineret enhed: & karakter: &.
CDATA sektioner
Det er en XML-konstruktion til at specificere data ved hjælp af et hvilket som helst tegn, uden at det fortolkes som XML-markering. Ikke at forveksle med 2(#PCDATA), som er til elementer. Tillader, at specialtegn ikke bryder strukturen. Eksempel:
<![CDATA[særligt indhold: \n áéíóúñ&]]>
Kommentarer
Kommentarer til informative formål for programmøren, som skal ignoreres af processoren. Kommentarer i XML har følgende format:
<!--- Dette er en kommentar --->
<!-- Endnu en kommentar -->
Gyldighed
At et dokument er "velformet" refererer kun til dets grundlæggende syntaktiske struktur, det vil sige, at det er opbygget af elementer, attributter og kommentarer, som XML angiver, at de skal skrives. Nu skal hver applikation af XML, det vil sige hvert sprog defineret med denne teknologi, specificere, hvad der præcist er forholdet, der skal verificeres mellem de forskellige elementer, der findes i dokumentet.
Dette forhold mellem elementer er specificeret i et eksternt dokument eller definition (udtrykt som en DTD eller som et XSchema ). Oprettelse af en definition svarer til at oprette et nyt markup-sprog til en specifik applikation.
Dokumenttypedefinition
Dokumenttypedefinitionen eller DTD (på spansk "dokumenttypedefinition") definerer de tilladte typer af elementer, attributter og entiteter, og kan udtrykke nogle begrænsninger for at kombinere dem. XML-dokumenter, der er i overensstemmelse med deres DTD, kaldes gyldige.
Elementtypeerklæringer
Elementer skal være i overensstemmelse med en dokumenttype, der er erklæret i en DTD, for at dokumentet kan anses for gyldigt.
Indholdsmodeller
En indholdsmodel er et mønster, der etablerer de accepterede delelementer, og den rækkefølge, de accepteres i.
Attributlisteerklæringer
Attributter bruges til at tilføje yderligere oplysninger til elementer i et dokument.
Attributtyper
Enhedserklæring
XML refererer til objekter, der ikke bør parses i henhold til XML-regler ved brug af entiteter. Enheder kan være:
- intern eller ekstern
- Analyseret eller ikke analyseret
- Generelt eller parametriseret
Navneområder
XML -navneområder giver dig mulighed for semantisk at adskille de elementer, der udgør et XML-dokument.
XML-skemaer (XSD)
Et skema minder lidt om en DTD. Den definerer hvilke elementer et XML-dokument kan indeholde, hvordan de er organiseret, og hvilke attributter og hvilken type dets elementer kan have.
Fordele ved skemaer versus DTD'er
- De bruger XML-syntaks i modsætning til DTD'er.
- De giver dig mulighed for at angive datatyperne.
- De kan forlænges.
Værktøjer til at arbejde med XML-dokumenter
Enhver tekstbehandling, der er i stand til at producere .txt-filer, er i stand til at generere XML; udviklingsmiljøer som Eclipse eller Visual Studio forenkler opgaven. Ved at genkende formaterne hjælper de med at generere velformet XML. De kan opdeles i to grupper:
- Skabningsværktøjer.
- Indholdsstyringsværktøjer.
Sprog oprettet ved hjælp af XML
Extensible Stylesheet Language (XSL)
The Extensible Style Sheet Language ( e X tensible Stylesheet L anguage , XSL ) er en familie af sprog, der giver dig mulighed for at beskrive, hvordan XML-kodede filer vil blive formateret (til visning) eller transformeret. Der er tre sprog i denne familie: XSL Transformations ( XSLT ), XSL Formatting Objects (XSL-FO) og XML Path Language.
XML Link Language (XLINK)
XLink er et XML-program, der forsøger at overvinde de begrænsninger, som hypertekstlinks har i HTML. XLink 1.1 er allerede en W3C-anbefaling.
Andre teknologier
- Stilark
- Programmering
- dataforespørgsel
- Sikkerhed
- Xades (XML Advanced Electronic Signatures)
Nogle mennesker mener, at XML er for tungt til nogle programmer og svært at redigere med en simpel teksteditor . Derfor er det værd at nævne nogle lettere og enklere alternativer. De lette markup-sprog :
- Simple Outline XML – Dette er en forenklet XML, der nemt kan konverteres til fuld XML .
- YAML og OGDL . Disse to er kun tekstfiler, der ikke er relateret til XML som SOX, diskuteret ovenfor.
- BBCode . Dette har en meget begrænset anvendelse til at formatere intet andet.
Der er også mindst ét sprog baseret på XML i binært format , kaldet EBML .
Se også
Portal: datalogi . Computerrelateret indhold .- XML-RPC — Remote Procedure Call ( RPC ) protokol, der bruger XML til at kode data.
- SOAP — protokol til fjernmetodekald og XML-meddelelsesudveksling ved hjælp af objektteknologi.
- HL7 v3 — sundhedsdatainteroperabilitetsstandard , som bruger elektroniske XML-meddelelser og -dokumenter.
- Dokumentobjektmodel
- DTD
- XML Editor
- XML-skema
- OpenDocument
- SLAP AF NG
- syntaksfremhævning
- Skematron
- Simpel API til XML
- webservice
- XSD
- XSL
- WSDL
Referencer
- ↑ Silberschatz, Abraham. McGraw-Hill, red. Grundlæggende om databasen .
- ↑ "Hvad er XML, og hvad bruges det til" . IR5 . Hentet 2. november 2012 .
- ↑ Jeff Atwood (2009): XML: The Angle Bracket Tax
- ↑ Eric Brown (2003). Myten om selvbeskrivende XML . (på engelsk)
Eksterne links
- XML-informationssæt (anden udgave) . Oversættelse af W3C-anbefalingen om XML-informationssæt (anden udgave).
- Navneområder i XML 1.1 . Oversættelse af W3C-anbefalingen om navnerum i XML 1.1.
- XML Key Management Specification (XKMS 2.0) bindinger . Oversættelse af W3C-anbefalingen om protokolbindinger med sikkerhedsfunktioner til XML Key Management Specification (XKMS).
- XML inkluderer . Oversættelse af XML-inkluderinger (XInclude) Version 1.0.
- xml:id version 1.0 . Oversættelse af W3C-anbefalingen på xml:id 1.0.
- Officiel W3C-webside om XML (på engelsk) .
- Introduktion til XML (på spansk).
- Introduktion til XML — konceptuel introduktion til XML.
- programmering.com - kurser, tutorials, tricks osv.
- XML-standarden (på engelsk) .
- The Extensible Stylesheet Language Family (XSL ) .
- XML Tutorial Theory, eksempler og øvelser løst med Creative Commons License.
- XML.org (på engelsk) .
- XML Software Guide Arkiveret 2006-07-11 på Wayback Machine (på engelsk) .
- Microsofts XML - webside .
- Værktøjer til redigering af XML-dokumenter .
- XML Perl- moduler på CPAN . _
- XML.Awardspace — grundlæggende introduktion til XML.
- SoaAgenda — XML til DOM passthrough eksempel.
- XML: Introduktion , introduktionsvideo til XML.
- XML: Eksempler på brug , video, der forklarer forskellige eksempler på brug af XML, såsom CML, MathML eller SVG.
- XML: HTML og XHTML , video, der forklarer forskellene mellem XML, HTML og XHTML.
- XML Formatter XML Formatter .