Najnowsze tutoriale tworzenie stron internetowych
 

XML Atrybuty


Elementy XML mogą mieć atrybuty, podobnie jak HTML.

Atrybuty są przeznaczone do przechowywania danych związanych z określonym elementem.


Atrybuty XML musi być podane

Wartości atrybutów muszą być zawsze podane. Pojedyncze lub podwójne cudzysłowy mogą być użyte.

Dla płci danej osoby, tym <person> element może być napisane tak:

<person gender="female">

i tak:

<person gender='female'>

Jeśli wartość atrybutu sama zawiera cudzysłowów można używać apostrofów, jak w poniższym przykładzie:

<gangster name='George "Shotgun" Ziegler'>

Można też użyć encji znakowych:

<gangster name="George &quot;Shotgun&quot; Ziegler">

Elementy Atrybuty XML vs.

Spójrz na tych przykładach:

<person gender="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

<person>
  <gender>female</gender>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

W pierwszym przykładzie płci jest atrybutem. W ostatnim, płeć jest elementem. Oba przykłady te same informacje.

Nie istnieją żadne przepisy o kiedy używać atrybutów lub kiedy należy używać elementów XML.


Mój ulubiony sposób

Poniższe trzy dokumenty XML zawierają dokładnie te same informacje:

Atrybut termin jest używany w pierwszym przykładzie:

<note date="2008-01-10">
  <to>Tove</to>
  <from>Jani</from>
</note>

<date> element jest stosowany w drugim przykładzie:

<note>
  <date>2008-01-10</date>
  <to>Tove</to>
  <from>Jani</from>
</note>

Rozszerzona <date> element jest stosowany w trzecim przykładzie: (THIS IS MY FAVORITE) :

<note>
  <date>
    <year>2008</year>
    <month>01</month>
    <day>10</day>
  </date>
  <to>Tove</to>
  <from>Jani</from>
</note>

Unikać atrybutów XML?

Niektóre rzeczy do rozważenia przy użyciu atrybutów należą:

  • atrybuty nie mogą zawierać wiele wartości (elements can)
  • atrybuty nie mogą zawierać struktury drzewa (elements can)
  • atrybuty nie są łatwo rozszerzalne (for future changes)

Nie kończy się tak:

<note day="10" month="01" year="2008"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>

Atrybuty metadanych XML

Czasem Odniesienia ID są przypisane do elementów. Identyfikatory te można stosować do identyfikacji elementów XML w taki sam sposób jak id atrybutu HTML. Ten przykład demonstruje sposób:

<messages>
  <note id="501">
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
  </note>
  <note id="502">
    <to>Jani</to>
    <from>Tove</from>
    <heading>Re: Reminder</heading>
    <body>I will not</body>
  </note>
</messages>

id atrybuty powyżej są do identyfikowania różnych notatek. To nie jest częścią samej nucie.

Co próbuję powiedzieć, jest to, że metadane (data about data) powinny być przechowywane jako atrybuty, a same dane powinny być przechowywane jako elementy.