Sök…


Anmärkningar

XML är ett markeringsspråk som används för att lagra hierarkiska data i textfiler. Det är också känt som halvstrukturerade data, som JSON. XML är maskinläsbar, men kan också läsas och produceras av människor.

XML består av element, ibland avslappnat kallas en taggsoppa , som själva kan innehålla andra element och / eller text. Element kan också innehålla attribut.

XML används ofta för datautbyte mellan plattformar, särskilt via internet. Det används också allt mer för att lagra semistrukturerade data i NoSQL-datalagrar (XML-databaser / dokumentlagrar). Dessutom har den flexibiliteten att hantera dokumentorienterad data (text med markering), vilket gör det mycket populärt i publiceringsbranschen. XML används också ofta för konfigurationsfiler.

En av de främsta orsakerna till att XML används så utbrett är att det är standardiserat, med många analysatorer tillgängliga, inklusive open source. Detta gör kostnaden för att använda XML lägre än uppfinningen av ens egen nya syntax.

Mer information om XML: s ursprung och mål finns i den officiella W3C-rekommendationen .

Det finns två versioner av XML, som visas i tabellen nedan. Utgåvorna av varje version är bara revideringar av originaldokumenten och inte ändringar av standarderna.

Den första versionen av XML är 1.0 . XML 1.1 ändrades primärt på grund av ändringen i Unicode-versionen från 2.0 till 3.1 och anger en uppsättning nya regler för användning och tolkning av nya Unicode-tecken.

versioner

Version Utgivningsdatum
1,0 1998/02/10
1,1 2001-12-13

Installation eller installation

XML är en syntax, vilket innebär att en enkel textredigerare räcker för att komma igång.

Att ha en XML-specifik redaktör som visar dig när och var ditt dokument inte är välformat är nästan nödvändigt för produktivitet. Sådana redaktörer kan också tillåta dig att validera XML-dokument mot ett XML-schema, eller till och med generera XML-scheman från XML-dokument (och vice versa).

Några exempel på redaktörer är oXygen, Atom, Eclipse och Altova XMLSpy. En alternativ lösning är att använda en kommandorad XML-parser som Apache Xerces.

De grundläggande byggstenarna

XML är tillverkad av grundläggande byggstenar, som är:

  • element
  • text
  • attribut
  • kommentarer
  • behandlingsinstruktioner

Ett element har vinkelfästen:

<element/>

<element>some content</element>

Ett attribut visas i en öppningselementtagg:

<element
  attribute-name="attribute value"
  other-attribute='single-quoted value'>
  ...
</element>

Text kan visas var som helst inom eller mellan element:

<element>some more <b>bold</b> text</element>

Kommentarer använder följande syntax. Det är viktigt att veta att XML-kommentarer, till skillnad från i programmeringsspråk, är en del av modellen och kommer att vara synliga för applikationen ovanför parser.

<!-- this is a comment -->

Behandlingsinstruktioner tillåter att meddelanden skickas till den konsumtiva applikationen (t.ex. hur man visar, eller ett formatmall, etc.). XML begränsar inte formatet för behandlingsinstruktioner.

<?target-application these are some instructions?>

Mer information om byggstenar finns i det här ämnet

Välutformning

Ett XML-dokument är en textfil som överensstämmer med XML-specifikationens välformade regler. Ett sådant överensstämmande dokument sägs vara välformat (inte förväxlas med giltigt ). XML är mycket strikt med välformad jämförelse med andra språk som HTML. En textfil som inte är välformad betraktas inte som XML och kan inte användas av att konsumera applikationer alls.

Här är några regler som gäller för XML-dokument:

  1. XML använder en mycket självbeskrivande syntax. En prolog definierar XML-versionen och teckenkodningen:

    <?xml version="1.0" encoding="UTF-8"?>
    
  2. Det måste finnas exakt ett toppnivåelement.

    Kommentarer, behandlingsinstruktioner såväl som den ursprungliga XML-deklarationen är dock tillåtna också på toppnivå. Text och attribut är inte.

    <?xml version="1.0"?>
    <!-- some comments -->
    <?app a processing instruction?>
    <root/>
    <!-- some more comments -->
    
  3. Element kan bo, men måste vara "ordentligt kapslade":

    <name>
      <first-name>John</first-name>
      <last-name>Doe</last-name>
    </name>
    

    Start- och sluttaggarna för ett inbäddat element måste ligga inom start- och sluttaggarna för dess behållarelement. En överlappning av element är olaglig. Särskilt är detta inte välformat XML: <foo><bar></foo></bar>

  4. Attribut kan bara visas i öppnande elementtaggar eller tomma elementtaggar, inte i stängande elementtaggar. Om attributsyntax visas mellan element har den ingen betydelse och analyseras som text.

    <person first-name="John" last-name="Doe"/>
    

    Detta är inte välformat: <person></person first-name="John"/>

  5. Kommentarer, behandlingsinstruktioner, text och ytterligare element kan visas var som helst inuti ett element (dvs. mellan dess öppnings- och stängningstagg) men inte inuti taggarna.

    <element>
        This is some <b>bold</b> text.
        <!-- the b tag has no particular meaning in XML -->
    </element>
    

    Detta exempel är inte välformat: <element <-- comment --> />

  6. Tecknet < visas kanske inte i text eller i attributvärden.

  7. " Tecknet kanske inte visas i attributvärden som är citerade med " . Den ' karaktär får inte visas i attributvärden som är noterade med ' .

  8. Teckenföljden -- visas kanske inte i en kommentar.

  9. Bokstavliga < och & -tecken måste undkommas av sina respektive enheter &lt; och &amp; .

Hej världen

<?xml version="1.0"?>
<?speech-generator voice="Siri"?>
<root xmlns:vocabulary="http://www.example.com/vocabulary">
  <!-- These are the standard greetings -->
  <vocabulary:greetings>
    <vocabulary:greeting xml:lang="en-US" type="informal">
      Hi!
    </vocabulary:greeting> 
    <vocabulary:greeting xml:lang="en-US" type="intermediate">
      Hello!
    </vocabulary:greeting> 
    <vocabulary:greeting xml:lang="en-US" type="formal">
      Good morning to <b>you</b>!
    </vocabulary:greeting> 
  </vocabulary:greetings>
</root>

namnrymder

Element- och attributnamn lever i namnutrymmen som är URI. Namnområden är bundna till prefix som används i faktiska element och attributnamn, som kallas QNames.

Detta dokument binder ett namnutrymme till prefixets prefix och definierar ett standardnamnområde som är bundet med frånvaron av prefix.

<?xml version="1.0"?>
<document
    xmlns="http://www.example.com/default-namespace"
    xmlns:prefix="http://www.example.com/another-namespace">
  <prefix:element/>
</document>

Mer information om namnutrymmen finns i det här ämnet



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow