Inne działy

 

Atrybuty XML

 


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

Atrybuty zawierają dodatkowe informacje o elemencie.


 

Atrybuty XML

W HTML atrybuty zawierają dodatkowe informacje o elementach:

<img src="/computer.gif">
<a href="/demo.asp">

Atrybuty często dostarczają informacji, które nie są częścią danych. W przykładzie poniżej typ pliku jest bez znaczenia dla danych, ale może być ważny dla oprogramowania, które chce manipulować elementem:

<file type="gif">computer.gif</file>

 

Atrybuty XML muszą być ujęte w cudzysłów

Wartości atrybutów muszą być zawsze podane w cudzysłowiu. Pojedyncze lub podwójne cudzysłowy mogą być używane. Dla płci danej osoby, element osoba może być napisany tak:

<osoba płeć="kobieta">

lub jak to:

<osoba płeć='kobieta'>

Jeśli wartość atrybutu sama zawiera podwójny cudzysłów można użyć pojedynczy cudzysłów, jak w tym przykładzie:

<gangster nazwisko='Grzegorz "dubeltówka" Strzelecki'>

lub można użyć encje znaków:

<gangster nazwisko="Grzegorz &quot;dubeltówka&quot; Strzelecki">

 

Elementy vs atrybuty XML

Spójrz na poniższe przykłady:

<osoba płeć="kobieta">
  <imie>Anna</imie>
  <nazwisko>Smieloch</nazwisko>
</osoba>

<osoba>
  <płeć>kobieta</płeć>
  <imie>Anna</imie>
  <nazwisko>Karolak</nazwisko>
</osoba>

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

Nie ma żadnych zasad, kiedy należy używać atrybutów lub kiedy używać elementów. Atrybuty są przydatne w HTML. W XML moją radą jest ich unikać. Zamiast tego użyj elementów.


 

Mój ulubiony sposób

Następujące trzy dokumenty XML zawierają dokładnie te same informacje:

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

<notatka data="10/01/2013">
  <do>Alek</do>
  <od>Janicki</od>
  <nagłówek> Przypomnienie </nagłówek>
  <wiadomość> Nie zapomnij o mnie w ten weekend!</wiadomość>
</notatka>

Element data jest używany w drugim przykładzie:

<notatka>
  <data>10/01/2013</data>
  <do>Alek</do>
  <od>Janicki</od>
  <nagłówek>Przypomnienie</nagłówek>
  <wiadomość> Nie zapomnij o mnie w ten weekend!</wiadomość>
</notatka>

Rozszerzony element data jest używany w trzecim przypadku: (to jest mój ulubiony):

<notatka>
  <data>
    <dzień>10</dzień>
    <miesiąc>01</miesiąc>
    <rok>2013</rok>
  </data>
  <do>Alek</do>
  <od>Janicki</od>
  <nagłówek>Reminder</nagłówek>
  <wiadomość> Nie zapomnij o mnie w ten weekend!</wiadomość>
</notatka>

 

Unikanie atrybutów XML?

Niektóre z problemów związanych z użyciem atrybutu to:

  • atrybuty nie mogą zawierać wiele wartości (elementy mogą)
  • atrybuty nie mogą zawierać struktury drzewiastej (elementy mogą)
  • atrybuty nie są łatwo rozszerzalne (dla przyszłych zmian)

Atrybuty są trudne do odczytywania i utrzymania. Użyj elementów dla danych. Korzystają z atrybutów dla informacji, która nie jest odpowiednia dla danych.

Nie skończy się to jak to:

<notatka dzień="10" miesiąc="01" rok="2013"
do="Alek" od="Janicki" nagłówek="Przypomnienie"
wiadomość=" Nie zapomnij o mnie w ten weekend!">
</notatka>

 

Atrybuty XML metadanych

Czasami identyfikatory odniesienia są przypisane do elementów. Te identyfikatory mogą zidentyfikować elementy XML w taki sam sposób jak atrybuty id w HTML. Ten przykład ilustruje to:

<wiadomość>
  <notatka id="501">
    <do>Alek</do>
    <od>Janicki</od>
    <nagłówek>Przypomnienie</nagłówek>
    <wiadomość> Nie zapomnij o mnie w ten weekend!</wiadomość>
  </notatka>
  <notatka id="502">
    <do>Alek</do>
    <od>Janicki</od>
    <nagłówek>Re: Przypomnienie </nagłówek>
    <wiadomość> Nie będę </wiadomość>
  </notatka>
</wiadomość>

Powyższe atrybuty identyfikatora służą do identyfikacji różnych notatek. To nie jest częścią samej notatki.

Staram się powiedzieć, że metadane (dane o danych) powinny być przechowywane, jako atrybuty, a same dane powinny być przechowywane, jako elementy

 

Zobacz nasze wszystkie kursy

WWW


HTML
HTML - Znaczniki
CSS - Tutorial
CSS - Selektory
PHP
JavaScript

XML

XSLT

Bazy danych


SQL
SQLite
MySQL
PostgreSQL

 

 

Programowanie


C
C++
C#
Java
VisualBasic
Python

Linux


Podstawy Linuxa
Bash
Linuks artykuły

Windows


Excel funkcje
Windows wskazówki
Outlook

Pozotałe działy


Programy
Rozrywka

 

 

 

This email address is being protected from spambots. You need JavaScript enabled to view it.