42
XML tehnologija i primjena u sustavima procesne informatike Damir Kirasić [email protected] Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva

Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

XML tehnologija i primjena u sustavima

procesne informatike

Damir Kirasić[email protected]

Sveučilište u ZagrebuFakultet elektrotehnike i računarstva

Page 2: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 2

Sadržaj

1.

Osnovni pojmovi2.

Neke primjene XML-a u energetici

1.

IEC 618502.

CIM/XML

3.

ETSO Scheduling

System

Page 3: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 3

1 Osnovni pojmovi

XML je kratica od “Extensible

Markup Language”

Doslovno prevedeno: “Proširivi jezik za označavanje”

XML koristimo za označavanje strukture dokumenata i podataka.

XML je jedan od mnogih jezika za označa- vanje: RTF, HTML, SGML,...

Page 4: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 4

XML primjer<?xml

version="1.0" ?>

<SCL><Substation

Ref="SS1">

<VoltageLevel

Ref="D1" Volatage="220kV"><Bay

Ref="Q1">

. . .</Bay>

</VoltageLevel></Substation>

</SCL>

Page 5: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 5

XML Primjer

Gornji primjer slijedi normu IEC 61850-6: Substation

automation

system

configuration

description

language.•

Skraćeno se ova norma često naziva: SCL (Substation

Configuration

Language).

=> Zajedno sa XML-om naučit ćemo nešto malo o SCL-u.

Page 6: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 6

XML - definicije

XML je tekst format.•

XML je proširivi jezik za definiranje strukture podataka i dokumenta.

XML je predložak, obrazac za opisivanje više srodnih dokumenata.

XML je tekstualni način zapisivanja podataka –

neovisan o tipovima računala

ili programske podrške -

otvorena norma.

Page 7: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 7

XML preporuka

Svi detalji XML-a su definirani u preporuci (oni normu nazivaju "recommendation") od 32 stranice koju je napisao W3C konzorcij.

Početna adresa konzorcija:http://www.w3.org

XML preporuka:http://www.w3.org/TR/2004/REC-xml-20040204/

Preporuka se poziva i na druge standarde: Unicode, ISO/IEC 10646, ...

Page 8: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 8

Oznake i sadržaj

XML dokument je niz Unicode znakova.

XML dokument ima sadržaj i oznake (eng. tag)

<Private>Proizvoljni sadržaj</Private>

oznaka sadržaj oznaka

Page 9: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 9

Elementi

Najčešći dijelovi XML dokumenata su elementi.

Elementi imaju:–

početnu oznaku <Private>

sadržaj

tekst ili podelementi–

završnu oznaku </Private>

Prazni element: <Private/>

Page 10: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 10

Elementi i podelementi

Elementi mogu imati podelemente

<Bay><Device> ... </Device>

<LNode> ... </LNode><Connection> ... </Connection><Private>x=1 y=2</Private>

<Device> ... </Device></Bay>

Page 11: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 11

Elementi i podelementi

Ako unutar nekog elementa započinje podelement, on mora i završiti unutar istog elementa.<a>....<b>... </a>....</b> KRIVO !!!

XML dokument mora imati samo jedan korijenski element.

Ova dva pravila (i još

nekoliko drugih) definiraju "dobro formiran"

XML dokument.

Page 12: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 12

Atributi

Elementi mogu imati atribute.

<Substation

Ref="SS1"><VoltageLevel

Ref="D1" Volatage="220kV">

<Bay

Ref="Q1">. . .

</Bay></VoltageLevel>

</Substation>

Page 13: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 13

Atributi

Atribut ima oblik ime="vrijednost"•

Vrijednost atributa mora biti unutar navodnika.

Element može imati više atributa ali unutar jednog elementa ne smije biti više atributa s istim imenom.

Page 14: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 14

Ostali XML dijelovi

XML deklaracija<?xml

version="1.0" encoding="UTF-8" ?>

Komentari<!--

Sadržaj komentara -->

Procesorske naredbe<?xml-stylesheet

type="text/xml" href=""?>

Page 15: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 15

Ostali XML dijelovi

CDATA sekcija<![CDATA[

Proizvoljni sadržaj koji možesadržavati znakove koje inačene možemo koristiti kao sadržajelemenata. Npr. < > & ' "

]]>

Document

type

definition

(DTD)

Page 16: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 16

XML oznake

Oznake koje koristimo u XML-u nisu unaprijed definirane.

Korisnici XML-a moraju sami definirati oznake i njihovo značenje.

Ili mogu koristiti oznake koje je netko ranije definirao.

Za razmjenu dokumenata između dvije strane mora postojati dogovor, konvencija o korištenju zajedničkih oznaka.

Page 17: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 17

Opis oznaka

Zajednički dogovor o oznakama i njihovom značenju se opisuje sa:–

Document

Type

Definition

(DTD) ili sa

XML Schema•

Ovo su dva mehanizma za točno definiranje skupa oznaka koje možemo koristiti u XML dokumentu.

Time definiramo novi jezik, novu gramatiku za razmjenu dokumenata.

Page 18: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 18

DTD - Primjer<!--

DTD primjer, djelomicni

SCL, datotka

scl.dtd

-->

<!ELEMENT SCL (Substation|IED|LNodeType|Communication)+><!ELEMENT Substation

(LNode*,VoltageLevel+,Private*) >

<!ATTLIST Substation

Ref

CDATA "">. . .<!ELEMENT Bay

(Text?,LNode*,Device+,Private?)>

<!ELEMENT Device

(Text?,LNode*,Connection*,Private*)><!ATTLIST Device

Ref

CDATA #REQUIREDType

NMTOKEN #REQUIRED

>...

Page 19: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 19

Što XML nije?

Iako se naziva “jezik”, XML nije programski jezik kao npr. Java ili C#.

Dokument napisan u XML-u se ne može izvoditi –

on ne radi ništa.

XML je “tekst format”

i kao takav predstavlja pasivnu stvar.

XML je novisan

o tipu računala, operacijskom sustavu ili Internetu.

Page 20: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 20

XML – razmjena podataka

XML je prvenstveno zamišljen kao fleksibilno sredstvo za razmjenu podataka između računala (programa).

XML možemo koristiti kao format zapisa podataka

(koji nisu namijenjeni razmjeni).

XML premošćuje nekompatibilne, hetero- gene sustave na Internetu i intranetu.

Page 21: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 21

Obrada XML-a

XML je prvenstveno namijenjen strojnoj, programskoj obradi.

Za prikaz XML-a koristimo CSS ili XSLT.•

Korisničke aplikacije je jednostavno napraviti jer je najteži dio posla (parsiranje) već napravljen kroz biblioteke.

Imamo velik izbor oruđa (XML DB, XSLT, XPath, XQuery,...) i biblioteka programa.

Page 22: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 22

Sažetak

XML dokument je obični tekst s umetnutim oznakama koje oko sebe imaju < >.

Temeljni dijelovi XML dokumenta su elementi i atributi.

Elementi imaju početnu i završnu oznaku.•

Elementi mogu sadržavati podelemente i/ili atribute.

Gramatiku određujemo s DTD ili Schema

Page 23: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 23

2 Neke primjene XML-a

IEC 61850•

Common

Information

model -

CIM

ETSO Scheduling

System (ESS)

Sve promatramo kao primjena XML-a na određeno područje.

Ne znam detalje iz područja energetike (slabi inženjeri i jaki inženjeri).

Page 24: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 24

2.1 XML i IEC 61850

IEC 61850

je norma koja treba omogućiti interoperabilnost

inteligentnih elektroničkih

uređaja (eng. IED) unutar rasklopnih postrojenja (eng. substation).

IEC 61850 definira:–

značenje (semantiku) imena i podataka (npr. značenje za prekidač, uklopno

stanje (eng. position),

...–

konfiguracijske podatke

razmjenu run-time podataka

Page 25: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 25

IEC 61850-6

IEC 61850-6

je dio IEC 61850.•

Definira "Substation

Configuration

description

Language" -

SCL.•

SCL koristi objektni model koji sadrži:–

funkcionalnu strukturu

IED strukturu–

komunikacijsku strukturu

Page 26: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 26

IEC 61850-6

U SCL modelu se pojavljuju objekti kao što su: Substation, Bay

(hrv. vodno polje),

Voltlevel, PrimaryDevice, IED, LNode, AccessPoint, Bus,...

SCL koristi UML za grafički opis modela i XML za tekstualni opis modela.

XML ima ugrađenu relaciju "sadrži": objektA sadrži objektB

(element-

podelement), ali ne i druge relacije.

Page 27: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 27

<?xml

version="1.0" ?>

<SCL><Substation

Ref="SS1">

<VoltageLevel

Ref="D1" Voltage="220kV">

<Bay

Ref="Q1">

<Device

Ref="QA1" Type="CBR">

<LNode

Ref="1" LNClass"CSWI" />

<Connection

TNodeRef="L1" />

<Private

Type="FerLayout">a=3 b=4</Private>

</Device>. . .

</Bay></VoltageLevel>

</Substation><Communication><ConnectedAP Ref="S" IEDRef="D1Q1KA1">...</ConnectedAP>

</Communication><IED Ref="D1Q1KA1"> ... </IED>. . .

</SCL>

ovo je relacija koja nije tipa "sadrži"

Page 28: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 28

IEC 61850-6

Prethodni primjer skraćeno prikazuje jednu moguću konfiguracijsku datoteku u SCL formatu.

Norma jednoznačno definira značenje elemenata <Substation>, <Bay>, <Device>,...

Ali definira i dozvoljenu sintaksu.

Page 29: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 29

IEC 61850-6

Sintaksa SCL-a je definirana DTD-om (ili XML Schemom?).

DTD opisuje:–

koji se elementi mogu pojaviti,

dozvoljeni redoslijed elemenata,–

moguće atribute elemenata,

koje podelemente može imati element...

Page 30: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 30

2.2 Common

Information

Model -

CIM

Za međusobno komuniciranje sudionika na području energetskih sustava nužne su zajedničke konvencije, modeli, zajednički rječnik.

Jedan od pokušaja u tom području je CIM -

Common

Information

Model.

Autor CIM-a je EPRI -

Electric

Power Research

Institute, ali je sada dio IEC

61970.

Page 31: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 31

CIM

EnergyManagement

System

A

EnergyManagement

System

B

CIM/XML

Page 32: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 32

CIM - UML

CIM je apstraktan okvir za definiranje modela energetskih sustava.

Originalno, CIM je definiran kao niz UML dijagrama

koji opisuju:

entitete•

atribute

relacije između entiteta

Page 33: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 33

CIM - XML

CIM definira "strukturu i značenje podataka koji opisuju entitete u energetskim sustavima".

Za razmjenu

podataka koristi se CIM/XML.•

CIM/XML

je jezik za opis CIM modela u

XML formatu.

Page 34: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 34

CIM - XML

Izravno zapisivanje CIM-a u XML-u je nezgodno (prema nekim autorima) jer:–

treba opisivati relacije između entiteta

se CIM još

uvijem mijenja–

dopisivanja vanjskih podataka je teško

Teško je definirati DTD ili XML Schemu

za “goli”

CIM/XML.

=> probleme rješava RDF

Page 35: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 35

CIM - RDF

RDF -

Resource

Description

Framework

je XML jezik za opisivanje entiteta (sredstava), njihovih svojstava i odnosa između njih.

RDF ima mogućnosti:–

opisivanja odnosa između objekata,

definiranja promjenjivog CIM-a,–

opis dodatnih, vanjskih podataka,

...

Page 36: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 36

CIM razine

XML

CIM

RDF Programi

Page 37: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 37

CIM - Primjer<cim:Substation ID="ID1"

cim:PowerSystemResourceName="East"><cim:MemberOfCompany resource="#ID3"/><cim:Contain>

cim:Breaker ID="ID2"cim:PowerSystemResourceName="11023"cim:Manufacturer="Admirable Electric"cim:NormalOpen="true"/>

</cim:Contain></cim:Substation><cim:Company ID="ID3" CompanyName="ABC" >

<cim:CompanyDescription>Government organization</cim:CompanyDescription>

</cim:Company>

Page 38: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 38

CIM/RFD Schema

CIM/XML je formalno definiran RDF Schemom

(u RDF Schemu

su još

dodana

neka proširenja).

RDF i CIM koriste "namespaces" -

to su XML popisi imena => imena oznaka sada imaju dva dijela <rječnik:ime ...>

Time izbjegavamo preklapanje imena.

Page 39: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 39

2.3 ETSO Scheduling System

ETSO -

European

Transmission

System Operators.

Zadaća za ETSO Task

Force

14 je "definirati norme za Electronic

Data

Interchange

(EDI) u području europskog tržišta električne energije ...".

Page 40: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 40

ESS

ETSO Scheduling

System (EES) definira format poruka između sudionika tržišta.

EES je posebno namijenjen za "day

ahead schedules" poruke i to za fazu planiranja.

ETSO "balancing

process

phases":–

planning

operation–

settlement

Page 41: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 41

ESS Primjer

Polazna poveznica za ETSO: http://www.edi.etso-net.org

Primjer: schedule-xml.xml•

Dozvoljeni formati poruke su definirani sa DTD-om schedule-xml.dtd

Još

su definirane poruke:–

"acknowledgement"

"anomaly"–

"confirmation"

Page 42: Uvod u XML - IEEEDokument napisan u XML-u se ne može izvoditi – on ne radi ništa. • XML je “tekst format” i kao takav predstavlja pasivnu stvar. • XML je novisan o tipu

© FER Zagreb - MIPRO 2005 42

KRAJ

Puno uspjeha XML-om