Sök…


element

Element kommer med vinkelfästen är den mest framstående byggstenen för XML.

Element kan antingen vara tomma, i vilket fall de är gjorda av en tom tagg (lägg märke till att det snedstreckade slutet):

<an-empty-element/>

Eller så kan de ha innehåll, i vilket fall de har en öppningstagg (ingen snedstreck) och en stängningskod (börjar snedstreck):

<a-non-empty-element>Content</a-non-empty-element>

Element kan bygga bo (men bara mellan öppnande och stängande taggar):

<parent-element>
  <child-element/>
  <another-child-element>
    Some more content.
  </another-child-element>
</parent-element>

Elementnamn kallas QNames (kvalificerade namn). Alla ovanstående element finns i inget namnutrymme, men elementnamn kan också definieras i namnutrymmen med prefix som så:

<my-namespace:parent-element xmlns:my-namespace="http://www.example.com/">
  <my-namespace:child-element/>
  <my-namespace:another-child-element>
    Some more content.
  </my-namespace:another-child-element>
</my-namespace:parent-element>

Namnområden och elementnamn beskrivs mer detaljerat i detta avsnitt av dokumentationen .

attribut

Attribut är namn-värdepar kopplade till ett element.

De representeras av värden i enstaka eller dubbla citat inuti den öppnande elementtaggen, eller den tomma elementtaggen om det är ett tomt element.

<document>
  <anElement foo="bar" abc='xyz'><!-- some content --></anElement>
  <anotherElement a="1"/>
</document>

Attribut är inte ordnade (till skillnad från element). Följande två element har samma uppsättning attribut:

<foo alpha="1" beta="2"/>

<foo beta="2" alpha="1"/>

Attribut kan inte upprepas i samma element (till skillnad från element). Följande dokument är inte välformat: <foo a="x" a="y"/> eftersom attributet a visas två gånger i samma element.

Följande dokument är välformat. Värdena kan vara identiska, det är attributnamnet som inte kan upprepas.

<foo a="x" b="x"/> 

Attribut kan inte kapslas (till skillnad från element).

Text

Text är gjord av alla tecken utanför någon markering (öppning av elementetiketter, stängning av elementetiketter osv.).

<?xml version="1.0"?>
<document>
  This is some text and <b>this is some more text</b>.
</document>

Den exakta XML-terminologin för text är teckeninformation . XML-specifikationen faktiskt använder ordet text för hela XML-dokument eller en analyserad enhet, eftersom det definierar XML på den syntaktiska nivån. Vissa datamodeller som XDM (XQuery och XPath Data Model), som representerar XML-dokument som träd, hänvisar emellertid till teckendata som textnoder , så att text ofta förstås som en synonym för teckendata i praktiken.

Karaktärsdata kan inte innehålla ett < -tecken - detta tolkas som det första tecknet i ett öppningselementtagg - och kan inte heller innehålla teckensekvensen ]]> . Lämpliga tecken måste undvikas med en enhetsreferens istället.

<?xml version="1.0"?>
<document>
  It is fine to escape the &lt; character, as well as ]]&gt;.
</document>

För enkelhets skull kan man också komma undan en större bit text med ett CDATA-avsnitt (men sekvensen ]]> är fortfarande inte tillåtet av uppenbara skäl):

<?xml version="1.0"?>
<document>
  <![CDATA[
    In a CDATA section, it is fine to write < or even & and entity references
    such as &amp; are not resolved.
  ]]>
</document>

kommentarer

Kommentarer i XML ser så ut:

<!-- This is a comment -->

De kan visas i elementinnehåll eller toppnivå:

<?xml version="1.0"?>
<!-- a comment at the top-level -->
<document>
  <!-- a comment inside the document -->
</document>

Kommentarer kan inte visas i taggar eller i attribut:

<element <!-- comment with -- inside --> />

eller

<element attr="<!-- comment with -- inside -->"/>

är inte välformade.

Teckenföljden -- kan inte visas i mitten av en kommentar. Detta är inte välformat XML:

<!-- comment with -- inside -->

Kommentarer i XML, till skillnad från på andra språk som C ++, är en del av datamodellen : de är parsade, vidarebefordrade och synliga för den konsumtiva applikationen.

Behandla instruktioner

En bearbetningsinstruktion används för att direkt vidarebefordra viss information eller instruktion till applikationen via parser.

<?my-application some instructions ?>

Token efter det första frågetecknet (här my-application ) kallas målet och identifierar applikationen som instruktionen syftar till. Det som följer det anges inte ytterligare och det är upp till applikationen att tolka det. Enhets- och teckenreferenser erkänns inte.

Det kan visas på toppnivå eller i elementinnehåll.



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