• Keine Ergebnisse gefunden

1 XML Namespaces

N/A
N/A
Protected

Academic year: 2022

Aktie "1 XML Namespaces "

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

1 XML Namespaces

XML Namespaces - Gliederung

† Motivation

† Umsetzung und Definition in XML

† Default-Namespaces

† Gültigkeitsbereich

XML Namespaces - Motivation

<lieferung>

<kunde>

<konto>

<nummer>4711<nummer>

<bank blz="0815"/>

</konto>

</kunde >

<artikel>

<bank>

<name>Søren</name>

<farbe>beige</farbe>

</bank>

</artikel>

</lieferung>

•semantisch: semantisch:

unterschiedliche Bedeutung von gleichen Namen

•syntaktisch: syntaktisch:

scheinbar gleiche Elemente mit ver- schiedener Struktur

entstehende Namenskonflikte:

XML Namespaces – Motivation

Namensraum: (engl. Namespace) eindeutig identifizierbarer Anwendungskontext. Objekte werden durch Angabe des Namensraums und des Objektnamens eindeutig identifiziert.

Objektnamen müssen nur innerhalb eines Namensraums eindeutig sein.

XML Namespaces: bieten eine einfache Möglichkeit in XML, Elemente und Attribute durch IRI – Referenzen zu qualifizieren.

Lösung

Lösung: Übertragung des Namensraumkonzepts auf XML!

Umsetzung in XML 1.1

XML Namespaces - Umsetzung

† Identifizierung von Namensräumen durch global eindeutige Internationalized Resource Identifiers (IRIs), (erweiterte URIs). Dabei dürfen nur absolute IRIs verwendet werden.

† Die Zuordnung von Elementen und Attributen zu einem Namensraum erfolgt im Allgemeinen durch Verwendung von PräfixenPräfixen.

† Die Deklaration eines Namespaces erfolgt immer als AttributAttribut eines beliebigen Elements. Er kann dann in diesem Element und dessen Kindelementen verwenden werden.

(2)

2

XML Namespaces - Deklaration

xmlns:foo="http://www.example.de"

reservierter Präfix

Namensraum-Präfix

Namensraum - Bezeichner

IRI muß jedoch nicht unbedingt existieren!

†Beispiel-Deklaration:

XML Namespaces - Beispiel

<lieferung>

<kunde>

<konto xmlns:money="http://www.sparkasse.de/xml">

<nummer>4711<nummer>

<money:bank blz="0815"/>

</konto>

</kunde >

<artikel>

<möbel:bank xmlns:möbel="http://www.moebel.net">

<möbel:name>Søren</möbel:name>

<möbel:farbe>beige</möbel:farbe>

</möbel:bank>

</artikel>

</lieferung>

In einem Element können auch mehrere Namensraum-präfixe

definiert werden.

Rationalisierung der Präfix-Notation

Default-Namespaces

† Für jedes Element kann auch ein Namensraum als Standard (default) festgelegt werden. z.B.:

xmlns="http://www.foo.org"

† Element-Namen ohne Präfix gehören dann zum Standard-Namensraum. Kind-Elemente erben den Standard-Namensraum ihres Eltern- Elementes.

† Attribute ohne Präfix werden dem Namespace des zugehörigen Elements zugeordnet.

XML Namespaces – Default Namespace

XML Namespaces – Default Namespace

<kunde xmlns="http://www.sparkasse.de/xml">

<konto>

<nummer>4711<nummer>

<bank blz="0815"/>

</konto>

</kunde>

Alle Element-Namen – einschließlich kunde gehören zum Standard-Namespace und sind daher namensraumeingeschränkt namensraumeingeschränkt (qualified).

XML Namespaces – Gültigkeitsbereich

Def: Ein Name heißt namensraumeingeschränktnamensraumeingeschränkt (qualified), wenn er einem Namensraum zugeordnet ist. Es gibt zwei Möglichkeiten, diese Zuordnung vorzunehmen:

† 1. Standard-Namensraum festlegen

† 2. Namensraum-Präfix voranstellen

(3)

3

XML Namespaces – Gültigkeitsbereich

<money:kunde

xmlns:money="http://www.sparkasse.de/xml">

<money:konto>

<money:nummer>4711<money:nummer>

<money:bank blz="0815"/>

</money:konto>

</money:kunde>

Alle Elemente haben einen Namensraumpräfix und sind daher namensraumeingeschränktnamensraumeingeschränkt.

<money:kunde

xmlns:money="http://www.sparkasse.de/xml">

<konto>

<nummer>4711<nummer>

<bank blz="0815"/>

</konto>

</money:kunde>

unqualified XML Namespaces – Gültigkeitsbereich

Es wurde kein Standard-Namespace definiert.

Element-Namen ohne Namensraum-Präfix sind daher keinem Namensraum zugeordnet (unqualified).

XML Namespaces – Gültigkeitsbereich

† Kind-Element erbt alle Namensraum- Definitionen seines Eltern-Elementes.

† Ererbter Standard-Namensraum kann lokal re- definiert werden.

† Eine Redefinierung mit der leeren IRI löscht die Bindung des Präfixes an einen Namespace.

D.h. der Präfix kann bis zur erneuten Bindung nicht verwendet werden.

XML Namespaces – Gültigkeitsbereich

<kunde

xmlns:money="http://www.sparkasse.de/xml"

xmlns="http://www.example.de">

<money:konto xmlns:foo="ftp://foo.de">

<nummer xmlns="">4711<nummer>

<money:bank

xmlns:money="http://www.cash24.de"

foo:blz="0815"/>

</money:konto>

</kunde>

Referenzen

ÄHNLICHE DOKUMENTE

Dieser Namensraum hat einen eindeutigen Namen und wird Package genannt.. Ist eine Klasse keinem Namensraum/ Package zugeordnet, so ist sie automatisch dem „Default

A strategy that guarantees the closure of an infinite process ⇧ must take care that any default which from k on, demands application, will eventually be applied. This is the

n Globale Variablen können von jedem Ort aus erreicht werden, auch wenn sie durch lokale Bezeichner „verdeckt“ sind. n Der zugehörige Operator ::

• XPath is used to select element nodes for processing, for conditional processing and for generating text. • Location paths consists of one or more location steps, each separated

(b) Sowohl das shipTo- als auch das billTo-Element enth¨ alt immer ein Attribut type aus dem Namensraum http://www.w3.org/2001/XMLSchema-instance, jeweils mit dem Werten

ƒ Für jedes Element kann ein Namensraum als Standard (default) festgelegt werden,

ƒ Für jedes Element kann ein Namensraum als Standard (engl. default) festgelegt werden,

Quando il sistema di strappo automatico è attivo e si utilizza carta su modulo continuo con il trattore di spinta anteriore e posteriore, la stampante fa avanzare automaticamente