Výukový program XML

XML HOME Úvod do XML XML Jak používat XML strom Syntaxe XML Prvky XML Atributy XML Jmenné prostory XML Zobrazení XML XML HttpRequest XML Parser XML DOM XML XPath XML XSLT XML XQuery XML XLlink XML Validator XML DTD Schéma XML XML server Příklady XML XML kvíz XML certifikát

XML AJAX

Úvod do AJAX AJAX XMLHttp Požadavek AJAX Odpověď AJAX Soubor XML AJAX AJAX PHP AJAX ASP Databáze AJAX Aplikace AJAX Příklady AJAX

XML DOM

Úvod do DOM DOM uzly Přístup k DOM Informace o uzlu DOM Seznam uzlů DOM DOM Traversing Navigace DOM DOM získat hodnoty DOM změnit uzly DOM Remove Nodes DOM nahradit uzly DOM Vytvořte uzly DOM Přidat uzly Klonovací uzly DOM Příklady DOM

Výukový program XPath

Úvod do XPath Uzly XPath Syntaxe XPath osy XPath Operátoři XPath Příklady XPath

Kurz XSLT

Úvod do XSLT Jazyky XSL Transformace XSLT XSLT <šablona> XSLT <hodnota-of> XSLT <pro každého> XSLT <sort> XSLT <if> XSLT <vyberte> Použít XSLT XSLT u klienta XSLT na serveru XSLT Úprava XML Příklady XSLT

Výukový program XQuery

Úvod do XQuery Příklad XQuery XQuery FLWOR HTML XQuery Podmínky XQuery Syntaxe XQuery Přidat XQuery XQuery Select Funkce XQuery

XML DTD

Úvod do DTD Stavební bloky DTD DTD prvky Atributy DTD DTD Elements vs Attr DTD entity Příklady DTD

XSD schéma

Úvod do XSD XSD Jak na to XSD <schéma> XSD prvky XSD atributy Omezení XSD

XSD komplex

XSD prvky XSD Prázdné Pouze prvky XSD Pouze text XSD XSD smíšené XSD indikátory XSD <libovolné> XSD <jakýkoliAtribut> Náhrada XSD Příklad XSD

XSD data

XSD řetězec Datum XSD Číselné XSD XSD Různé XSD reference

Webové služby

Služby XML XML WSDL XML SOAP XML RDF XML RSS

Reference

Typy uzlů DOM Uzel DOM DOM NodeList DOM NamedNodeMap Dokument DOM Prvek DOM Atribut DOM Text DOM DOM CDATA Komentář DOM DOM XMLHttpRequest DOM Parser Prvky XSLT Funkce XSLT/XPath

XML RDF


Příklad 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 je RDF?

  • RDF je zkratka pro R esource D escription F ramework
  • RDF je rámec pro popis zdrojů na webu
  • RDF je navrženo tak, aby jej četly a rozuměly mu počítače
  • RDF není určeno k zobrazování lidem
  • RDF je napsáno v XML
  • RDF je součástí sémantické webové aktivity W3C
  • RDF je doporučení W3C z 10. února 2004

RDF - Příklady použití

  • Popis vlastností pro nákupní položky, jako je cena a dostupnost
  • Popis časových plánů pro webové události
  • Popis informací o webových stránkách (obsah, autor, datum vytvoření a úpravy)
  • Popis obsahu a hodnocení webových obrázků
  • Popis obsahu pro vyhledávače
  • Popis elektronických knihoven

RDF je navrženo pro čtení počítači

RDF byl navržen tak, aby poskytoval běžný způsob popisu informací, aby je bylo možné číst a porozumět počítačovým aplikacím.

Popisy RDF nejsou určeny k zobrazení na webu.



RDF je napsáno v XML

Dokumenty RDF jsou psány v XML. Jazyk XML používaný RDF se nazývá RDF/XML.

Pomocí XML lze snadno vyměňovat informace RDF mezi různými typy počítačů pomocí různých typů operačních systémů a aplikačních jazyků.


RDF a "Sémantický web"

Jazyk RDF je součástí aktivity sémantického webu W3C. „Vize sémantického webu“ W3C je budoucností, kde:

  • Webová informace má přesný význam
  • Webové informace mohou počítače pochopit a zpracovat
  • Počítače mohou integrovat informace z webu

RDF používá webové identifikátory (URI) k identifikaci zdrojů.

RDF popisuje zdroje s vlastnostmi a hodnotami vlastností.


Zdroj RDF, majetek a hodnota majetku

RDF identifikuje věci pomocí webových identifikátorů (URI) a popisuje zdroje pomocí vlastností a hodnot vlastností.

Vysvětlení hodnoty zdroje, majetku a majetku:

  • Zdroj je cokoli , co může mít URI, například „https://www.w3schools.com/rdf“
  • Vlastnost je zdroj , který má název, například „autor“ nebo „domovská stránka“
  • Hodnota nemovitosti je hodnota nemovitosti, například „Jan Egil Refsnes“ nebo „https://www.w3schools.com“ (všimněte si, že hodnotou nemovitosti může být jiný zdroj)

Následující dokument RDF by mohl popisovat zdroj „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>

Výše uvedený příklad je zjednodušený. Jmenné prostory jsou vynechány.


RDF prohlášení

Kombinace zdroje, vlastnosti a hodnoty vlastnosti tvoří Výpis (známý jako předmět, predikát a předmět Výpisu).

Podívejme se na několik příkladů prohlášení, abychom lépe porozuměli:

Prohlášení: "Autorem https://www.w3schools.com/rdf je Jan Egil Refsnes".

  • Předmětem výše uvedeného prohlášení je: https://www.w3schools.com/rdf
  • Predikát je: autor
  • Objekt je: Jan Egil Refsnes

Prohlášení: „Domovská stránka https://www.w3schools.com/rdf je https://www.w3schools.com“.

  • Předmětem výše uvedeného prohlášení je: https://www.w3schools.com/rdf
  • Predikát je: domovská stránka
  • Objekt je: https://www.w3schools.com

Příklad RDF

Zde jsou dva záznamy ze seznamu 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

Níže je několik řádků 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>

První řádek dokumentu RDF je deklarace XML. Po deklaraci XML následuje kořenový prvek dokumentů RDF: <rdf:RDF> .

Jmenný prostor xmlns:rdf určuje, že prvky s předponou rdf jsou ze jmenného prostoru "http://www.w3.org/1999/02/22-rdf-syntax-ns#".

Jmenný prostor xmlns:cd určuje, že prvky s předponou cd pocházejí ze jmenného prostoru "http://www.recshop.fake/cd#".

Element <rdf:Description> obsahuje popis zdroje identifikovaného atributem rdf:about .

Prvky: <cd:artist>, <cd:country>, <cd:company> atd. jsou vlastnostmi zdroje.


Online validátor RDF

Služba W3C RDF Validation Service je užitečná při učení RDF. Zde můžete experimentovat se soubory RDF.

Online RDF Validator analyzuje váš dokument RDF, zkontroluje vaši syntaxi a generuje tabulkové a grafické pohledy na váš dokument RDF.

Zkopírujte a vložte níže uvedený příklad do validátoru 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>

Když analyzujete výše uvedený příklad, výsledek bude vypadat nějak takto .


Prvky RDF

Hlavními prvky RDF jsou kořenový prvek <RDF> a prvek <Description>, který identifikuje zdroj.


Prvek <rdf:RDF>

<rdf:RDF> je kořenový prvek dokumentu RDF. Definuje dokument XML jako dokument RDF. Obsahuje také odkaz na jmenný prostor RDF:

<?xml version="1.0"?>

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

Prvek <rdf:Description>

Element <rdf:Description> identifikuje zdroj pomocí atributu about.

Element <rdf:Description> obsahuje prvky, které popisují zdroj:

<?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>

Prvky, umělec, země, společnost, cena a rok jsou definovány ve jmenném prostoru http://www.recshop.fake/cd#. Tento jmenný prostor je mimo RDF (a není součástí RDF). RDF definuje pouze rámec. Prvky, umělec, země, společnost, cena a rok, musí být definovány někým jiným (společností, organizací, osobou atd.).


Vlastnosti jako atributy

Prvky vlastnosti lze také definovat jako atributy (místo prvků):

<?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>

Vlastnosti jako zdroje

Prvky vlastností lze také definovat jako zdroje:

<?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>

Ve výše uvedeném příkladu nemá umělec nemovitosti hodnotu, ale odkaz na zdroj obsahující informace o umělci.


RDF kontejnery

RDF kontejnery se používají k popisu skupiny věcí.

K popisu skupin se používají následující prvky RDF: <Bag>, <Seq> a <Alt>.


Prvek <rdf:Bag>

Element <rdf:Bag> se používá k popisu seznamu hodnot, které nemusí být v určitém pořadí.

Prvek <rdf:Bag> může obsahovat duplicitní hodnoty.

Příklad

<?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>

Prvek <rdf:Seq>

Prvek <rdf:Seq> se používá k popisu uspořádaného seznamu hodnot (například v abecedním pořadí).

Prvek <rdf:Seq> může obsahovat duplicitní hodnoty.

Příklad

<?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>

Prvek <rdf:Alt>

Prvek <rdf:Alt> se používá k popisu seznamu alternativních hodnot (uživatel může vybrat pouze jednu z hodnot).

Příklad

<?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>

Podmínky RDF

Ve výše uvedených příkladech jsme při popisu prvků kontejneru hovořili o "seznamu hodnot". V RDF se tyto "seznamy hodnot" nazývají členy.

Máme tedy následující:

  • Kontejner je zdroj, který obsahuje věci
  • Obsažené věci se nazývají členy (nikoli seznam hodnot)

Sbírky RDF

Kolekce RDF popisují skupiny, které mohou obsahovat POUZE určené členy.


Atribut rdf:parseType="Collection".

Jak je vidět v předchozí kapitole, kontejner říká, že zdroje, které obsahují, jsou členy – neříká, že ostatní členové nejsou povoleni.

Kolekce RDF se používají k popisu skupin, které mohou obsahovat POUZE určené členy.

Kolekce je popsána atributem rdf:parseType="Collection".

Příklad

<?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>

Schéma RDF a aplikační třídy

RDF Schema (RDFS) je rozšířením RDF.

RDF popisuje prostředky s třídami, vlastnostmi a hodnotami.

Kromě toho RDF také potřebuje způsob, jak definovat třídy a vlastnosti specifické pro aplikaci. Třídy a vlastnosti specifické pro aplikaci musí být definovány pomocí rozšíření RDF.

Jedním z takových rozšíření je RDF Schema.


Schéma RDF (RDFS)

Schéma RDF neposkytuje skutečné třídy a vlastnosti specifické pro aplikaci.

Místo toho RDF Schema poskytuje rámec pro popis tříd a vlastností specifických pro aplikaci.

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