Samouczek XML

Strona główna XML Wprowadzenie do XML XML Jak używać Drzewo XML Składnia XML Elementy XML Atrybuty XML Przestrzenie nazw XML Wyświetlacz XML Żądanie HTTP XML Parser XML XML DOM XML XPath XML XSLT XML XQuery XML XLink Walidator XML XML DTD Schemat XML Serwer XML Przykłady XML Quiz XML Certyfikat XML

XML AJAX

Wprowadzenie do AJAX AJAX XMLHttp Żądanie AJAX Odpowiedź AJAX Plik XML AJAX AJAX PHP ASP AJAX Baza danych AJAX Aplikacje AJAX Przykłady AJAX

XML DOM

Wprowadzenie do DOM Węzły DOM Dostęp do DOM Informacje o węźle DOM Lista węzłów DOM Przechodzenie DOM Nawigacja DOM DOM Uzyskaj wartości Zmiana węzłów DOM DOM Usuń węzły DOM Zamień węzły DOM Utwórz węzły DOM Dodaj węzły Węzły klonowania DOM Przykłady DOM

Samouczek XPath

Wprowadzenie do XPath Węzły XPath Składnia XPath Osie XPath Operatorzy XPath Przykłady XPath

Samouczek XSLT

Wprowadzenie XSLT Języki XSL Transformacja XSLT XSLT <szablon> XSLT <wartość-z> XSLT <dla każdego> XSLT <sortuj> XSLT <jeśli> XSLT <wybierz> XSLT Zastosuj XSLT na kliencie XSLT na serwerze XSLT Edytuj XML Przykłady XSLT

Samouczek XQuery

Wprowadzenie do XQuery Przykład XQuery XQuery FLWOR XQuery HTML Warunki XQuery Składnia XQuery XQuery Dodaj XQuery Wybierz Funkcje XQuery

XML DTD

Wprowadzenie do DTD Bloki konstrukcyjne DTD Elementy DTD Atrybuty DTD Elementy DTD a Attr Jednostki DTD Przykłady DTD

Schemat XSD

Wprowadzenie do XSD XSD Jak to zrobić XSD <schemat> Elementy XSD Atrybuty XSD Ograniczenia XSD

Kompleks XSD

Elementy XSD XSD Pusty Tylko elementy XSD Tylko tekst XSD Mieszane XSD Wskaźniki XSD XSD <dowolny> XSD <dowolnyAtrybut> Zastąpienie XSD Przykład XSD

Dane XSD

XSD ciąg Data XSD Numeryczne XSD XSD Różne Odniesienie XSD

Usługi internetowe

Usługi XML XML WSDL MYDŁO XML XML RDF XML RSS

Bibliografia

Typy węzłów DOM Węzeł DOM Lista węzłów DOM DOM NamedNodeMap Dokument DOM Element DOM Atrybut DOM Tekst DOM DOM CDATA Komentarz DOM DOM XMLHttpRequest Analizator DOM Elementy XSLT Funkcje XSLT/XPath

XML RDF


Przykład dokumentu RDF

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="https://www.w3schools.com/rdf/">

<rdf:Description rdf:about="https://www.w3schools.com">
  <si:title>W3Schools</si:title>
  <si:author>Jan Egil Refsnes</si:author>
</rdf:Description>

</rdf:RDF>

Co to jest RDF?

  • RDF oznacza Ramę Opisu Zasobów _ _
  • RDF to framework do opisywania zasobów w sieci
  • RDF jest przeznaczony do czytania i zrozumienia przez komputery
  • RDF nie jest przeznaczony do wyświetlania ludziom
  • RDF jest napisany w XML
  • RDF jest częścią Semantic Web Activity W3C
  • RDF jest rekomendacją W3C od 10 lutego 2004 r.

RDF - Przykłady użycia

  • Opisywanie właściwości przedmiotów zakupowych, takich jak cena i dostępność
  • Opisywanie harmonogramów wydarzeń internetowych
  • Opisywanie informacji o stronach internetowych (treść, autor, data utworzenia i modyfikacji)
  • Opisywanie treści i ocenianie zdjęć internetowych
  • Opisywanie treści dla wyszukiwarek
  • Opisywanie bibliotek elektronicznych

RDF jest przeznaczony do odczytu przez komputery

RDF został zaprojektowany, aby zapewnić wspólny sposób opisywania informacji, aby mogły być odczytywane i rozumiane przez aplikacje komputerowe.

Opisy RDF nie są przeznaczone do wyświetlania w Internecie.



RDF jest napisany w XML

Dokumenty RDF są napisane w XML. Język XML używany przez RDF nazywa się RDF/XML.

Używając XML, informacje RDF mogą być łatwo wymieniane pomiędzy różnymi typami komputerów używających różnych typów systemów operacyjnych i języków aplikacji.


RDF i „Sieć semantyczna”

Język RDF jest częścią Semantic Web Activity W3C. „Wizja sieci semantycznej” W3C to przyszłość, w której:

  • Informacje internetowe mają dokładne znaczenie
  • Informacje internetowe mogą być rozumiane i przetwarzane przez komputery
  • Komputery mogą integrować informacje z sieci

RDF używa identyfikatorów internetowych (URI) do identyfikacji zasobów.

RDF opisuje zasoby z właściwościami i wartościami właściwości.


Zasób RDF, własność i wartość własności

RDF identyfikuje rzeczy za pomocą identyfikatorów internetowych (URI) i opisuje zasoby za pomocą właściwości i wartości właściwości.

Wyjaśnienie wartości zasobu, właściwości i właściwości:

  • Zasób to wszystko , co może mieć identyfikator URI, na przykład „https://www.w3schools.com/rdf”
  • Właściwość to zasób , który ma nazwę, na przykład „autor” lub „strona główna”
  • Wartość właściwości to wartość właściwości, na przykład „Jan Egil Refsnes” lub „https://www.w3schools.com” (pamiętaj, że wartość nieruchomości może być innym zasobem)

Poniższy dokument RDF może opisywać zasób „https://www.w3schools.com/rdf”:

<?xml version="1.0"?>

<RDF>
  <Description about="https://www.w3schools.com/rdf">
    <author>Jan Egil Refsnes</author>
    <homepage>https://www.w3schools.com</homepage>
  </Description>
</RDF>

Powyższy przykład jest uproszczony. Przestrzenie nazw są pomijane.


Oświadczenia RDF

Kombinacja wartości zasobu, właściwości i właściwości tworzy oświadczenie (znane jako podmiot, predykat i obiekt instrukcji).

Spójrzmy na kilka przykładowych stwierdzeń, aby lepiej zrozumieć:

Oświadczenie: „Autorem https://www.w3schools.com/rdf jest Jan Egil Refsnes”.

  • Przedmiotem powyższego oświadczenia jest: https://www.w3schools.com/rdf
  • Predykat to: autor
  • Obiekt to: Jan Egil Refsnes

Oświadczenie: „Strona główna https://www.w3schools.com/rdf to https://www.w3schools.com”.

  • Przedmiotem powyższego oświadczenia jest: https://www.w3schools.com/rdf
  • Predykat to: strona główna
  • Obiekt to: https://www.w3schools.com

Przykład RDF

Oto dwa rekordy z listy CD:

Title Artist Country Company Price Year
Empire Burlesque Bob Dylan USA Columbia 10.90 1985
Hide your heart Bonnie Tyler UK CBS Records 9.90 1988

Poniżej kilka linijek z dokumentu RDF:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist>Bob Dylan</cd:artist>
  <cd:country>USA</cd:country>
  <cd:company>Columbia</cd:company>
  <cd:price>10.90</cd:price>
  <cd:year>1985</cd:year>
</rdf:Description>

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Hide your heart">
  <cd:artist>Bonnie Tyler</cd:artist>
  <cd:country>UK</cd:country>
  <cd:company>CBS Records</cd:company>
  <cd:price>9.90</cd:price>
  <cd:year>1988</cd:year>
</rdf:Description>
.
.
.
</rdf:RDF>

Pierwsza linia dokumentu RDF to deklaracja XML. Po deklaracji XML następuje główny element dokumentów RDF: <rdf:RDF> .

Przestrzeń nazw xmlns:rdf określa, że ​​elementy z prefiksem rdf pochodzą z przestrzeni nazw „http://www.w3.org/1999/02/22-rdf-syntax-ns#”.

Przestrzeń nazw xmlns:cd określa, że ​​elementy z prefiksem cd pochodzą z przestrzeni nazw „http://www.recshop.fake/cd#”.

Element <rdf:Description> zawiera opis zasobu identyfikowanego przez atrybut rdf:about .

Elementy: <cd:artist>, <cd:country>, <cd:company> itd. są właściwościami zasobu.


Walidator online RDF

Usługa Walidacji RDF W3C jest przydatna podczas nauki RDF. Tutaj możesz poeksperymentować z plikami RDF.

Walidator RDF online analizuje twój dokument RDF, sprawdza twoją składnię i generuje tabelaryczne i graficzne widoki twojego dokumentu RDF.

Skopiuj i wklej poniższy przykład do walidatora RDF W3C:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="https://www.w3schools.com/rdf/">
<rdf:Description rdf:about="https://www.w3schools.com">
  <si:title>W3Schools.com</si:title>
  <si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>

Kiedy przeanalizujesz powyższy przykład, wynik będzie wyglądał mniej więcej tak .


Elementy RDF

Głównymi elementami RDF są element główny, <RDF> oraz element <Description>, który identyfikuje zasób.


Element <rdf:RDF>

<rdf:RDF> jest głównym elementem dokumentu RDF. Definiuje dokument XML jako dokument RDF. Zawiera również odniesienie do przestrzeni nazw RDF:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  ...Description goes here...
</rdf:RDF>

Element <rdf:Opis>

Element <rdf:Description> identyfikuje zasób z atrybutem about.

Element <rdf:Description> zawiera elementy opisujące zasób:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist>Bob Dylan</cd:artist>
  <cd:country>USA</cd:country>
  <cd:company>Columbia</cd:company>
  <cd:price>10.90</cd:price>
  <cd:year>1985</cd:year>
</rdf:Description>

</rdf:RDF>

Elementy, wykonawca, kraj, firma, cena i rok są zdefiniowane w przestrzeni nazw http://www.recshop.fake/cd#. Ta przestrzeń nazw znajduje się poza RDF (i nie jest częścią RDF). RDF definiuje tylko ramy. Elementy, artysta, kraj, firma, cena i rok muszą być zdefiniowane przez kogoś innego (firmę, organizację, osobę itp.).


Właściwości jako atrybuty

Elementy właściwości można również zdefiniować jako atrybuty (zamiast elementów):

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque"
cd:artist="Bob Dylan" cd:country="USA"
cd:company="Columbia" cd:price="10.90"
cd:year="1985" />

</rdf:RDF>

Właściwości jako zasoby

Elementy właściwości można również zdefiniować jako zasoby:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist rdf:resource="http://www.recshop.fake/cd/dylan" />
  ...
  ...
</rdf:Description>

</rdf:RDF>

W powyższym przykładzie własność artysty nie ma wartości, ale odniesienie do zasobu zawierającego informacje o artyście.


Pojemniki RDF

Kontenery RDF służą do opisu grupy rzeczy.

Do opisu grup używane są następujące elementy RDF: <Bag>, <Seq> i <Alt>.


Element <rdf:Bag>

Element <rdf:Bag> służy do opisania listy wartości, które nie muszą być w określonej kolejności.

Element <rdf:Bag> może zawierać zduplikowane wartości.

Przykład

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:artist>
    <rdf:Bag>
      <rdf:li>John</rdf:li>
      <rdf:li>Paul</rdf:li>
      <rdf:li>George</rdf:li>
      <rdf:li>Ringo</rdf:li>
    </rdf:Bag>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

Element <rdf:Seq>

Element <rdf:Seq> służy do opisu uporządkowanej listy wartości (na przykład w kolejności alfabetycznej).

Element <rdf:Seq> może zawierać zduplikowane wartości.

Przykład

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:artist>
    <rdf:Seq>
      <rdf:li>George</rdf:li>
      <rdf:li>John</rdf:li>
      <rdf:li>Paul</rdf:li>
      <rdf:li>Ringo</rdf:li>
    </rdf:Seq>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

Element <rdf:Alt>

Element <rdf:Alt> służy do opisu listy alternatywnych wartości (użytkownik może wybrać tylko jedną z wartości).

Przykład

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:format>
    <rdf:Alt>
      <rdf:li>CD</rdf:li>
      <rdf:li>Record</rdf:li>
      <rdf:li>Tape</rdf:li>
    </rdf:Alt>
  </cd:format>
</rdf:Description>

</rdf:RDF>

Warunki RDF

W powyższych przykładach przy opisie elementów kontenera mówiliśmy o „liście wartości”. W RDF te „listy wartości” nazywane są członkami.

Mamy więc:

  • Kontener to zasób, który zawiera rzeczy
  • Zawarte rzeczy nazywane są członkami (nie listą wartości)

Kolekcje RDF

Kolekcje RDF opisują grupy, które mogą zawierać TYLKO określonych członków.


Atrybut rdf:parseType="Collection"

Jak widać w poprzednim rozdziale, kontener mówi, że zasoby zawierające są członkami — nie oznacza, że ​​inni członkowie nie są dozwoleni.

Kolekcje RDF są używane do opisywania grup, które mogą zawierać TYLKO określonych członków.

Kolekcja jest opisana atrybutem rdf:parseType="Collection".

Przykład

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://recshop.fake/cd#">

<rdf:Description
rdf:about="http://recshop.fake/cd/Beatles">
  <cd:artist rdf:parseType="Collection">
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/George"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/John"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Paul"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Ringo"/>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

Schematy RDF i klasy aplikacji

Schemat RDF (RDFS) jest rozszerzeniem RDF.

RDF opisuje zasoby za pomocą klas, właściwości i wartości.

Ponadto RDF potrzebuje również sposobu na zdefiniowanie klas i właściwości specyficznych dla aplikacji. Klasy i właściwości specyficzne dla aplikacji muszą być zdefiniowane za pomocą rozszerzeń RDF.

Jednym z takich rozszerzeń jest schemat RDF.


Schemat RDF (RDFS)

Schemat RDF nie zapewnia rzeczywistych klas i właściwości specyficznych dla aplikacji.

Zamiast tego RDF Schema zapewnia strukturę do opisywania klas i właściwości specyficznych dla aplikacji.

Classes in RDF Schema are much like classes in object oriented programming languages. This allows resources to be defined as instances of classes, and subclasses of classes.


RDFS Example

The following example demonstrates some of the RDFS facilities:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.animals.fake/animals#">

<rdf:Description rdf:ID="animal">
  <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>

<rdf:Description rdf:ID="horse">
  <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description>

</rdf:RDF>

In the example above, the resource "horse" is a subclass of the class "animal".


Example Abbreviated

Since an RDFS class is an RDF resource we can abbreviate the example above by using rdfs:Class instead of rdf:Description, and drop the rdf:type information:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.animals.fake/animals#">

<rdfs:Class rdf:ID="animal" />

<rdfs:Class rdf:ID="horse">
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>

</rdf:RDF>

That's it!


The Dublin Core

The Dublin Core Metadata Initiative (DCMI) has created some predefined properties for describing documents.

RDF is metadata (data about data). RDF is used to describe information resources.

The Dublin Core is a set of predefined properties for describing documents.

The first Dublin Core properties were defined at the Metadata Workshop in Dublin, Ohio in 1995 and is currently maintained by the Dublin Core Metadata Initiative.

Property Definition
Contributor An entity responsible for making contributions to the content of the resource
Coverage The extent or scope of the content of the resource
Creator An entity primarily responsible for making the content of the resource
Format The physical or digital manifestation of the resource
Date A date of an event in the lifecycle of the resource
Description An account of the content of the resource
Identifier An unambiguous reference to the resource within a given context
Language A language of the intellectual content of the resource
Publisher An entity responsible for making the resource available
Relation A reference to a related resource
Rights Information about rights held in and over the resource
Source A Reference to a resource from which the present resource is derived
Subject A topic of the content of the resource
Title A name given to the resource
Type The nature or genre of the content of the resource

A quick look at the table above indicates that RDF is ideal for representing Dublin Core information.


RDF Example

The following example demonstrates the use of some of the Dublin Core properties in an RDF document:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc= "http://purl.org/dc/elements/1.1/">

<rdf:Description rdf:about="https://www.w3schools.com">
  <dc:description>W3Schools - Free tutorials</dc:description>
  <dc:publisher>Refsnes Data as</dc:publisher>
  <dc:date>2008-09-01</dc:date>
  <dc:type>Web Development</dc:type>
  <dc:format>text/html</dc:format>
  <dc:language>en</dc:language>
</rdf:Description>

</rdf:RDF>

RDF Reference

The RDF namespace (xmlns:rdf) is: http://www.w3.org/1999/02/22-rdf-syntax-ns#

The RDFS namespace (xmlns:rdfs ) is: http://www.w3.org/2000/01/rdf-schema#

The recommended file extension for RDF files is .rdf. However, the extension .xml is often used to provide compatibility with old xml parsers.

The MIME type should be "application/rdf+xml".


RDFS / RDF Classes

Element Class of Subclass of
rdfs:Class All classes  
rdfs:Datatype Data types Class
rdfs:Resource All resources Class
rdfs:Container Containers Resource
rdfs:Literal Literal values (text and numbers) Resource
rdf:List Lists Resource
rdf:Property Properties Resource
rdf:Statement Statements Resource
rdf:Alt Containers of alternatives Container
rdf:Bag Unordered containers Container
rdf:Seq Ordered containers Container
rdfs:ContainerMembershipProperty Container membership properties Property
rdf:XMLLiteral XML literal values Literal

RDFS / RDF Properties

Element Domain Range Description
rdfs:domain Property Class The domain of the resource
rdfs:range Property Class The range of the resource
rdfs:subPropertyOf Property Property The property is a sub property of a property
rdfs:subClassOf Class Class The resource is a subclass of a class
rdfs:comment Resource Literal The human readable description of the resource
rdfs:label Resource Literal The human readable label (name)  of the resource
rdfs:isDefinedBy Resource Resource The definition of the resource
rdfs:seeAlso Resource Resource The additional information about the resource
rdfs:member Resource Resource The member of the resource
rdf:first List Resource  
rdf:rest List List  
rdf:subject Statement Resource The subject of the resource in an RDF Statement
rdf:predicate Statement Resource The predicate of the resource in an RDF Statement
rdf:object Statement Resource The object of the resource in an RDF Statement
rdf:value Resource Resource The property used for values
rdf:type Resource Class The resource is an instance of a class

RDF Attributes

Attribute Description
rdf:about Defines the resource being described
rdf:Description Container for the description of a resource
rdf:resource Defines a resource to identify a property
rdf:datatype Defines the data type of an element
rdf:ID Defines the ID of an element
rdf:li Defines a list
rdf:_n Defines a node
rdf:nodeID Defines the ID of an element node
rdf:parseType Defines how an element should be parsed
rdf:RDF The root of an RDF document
xml:base Defines the XML base
xml:lang Defines the language of the element content