2 XML Schema: johdanto ja rakenteiden perusteet
|
|
- Elsa Mikkonen
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 2 XML Schema: johdanto ja rakenteiden perusteet Kun XML-dokumentteja tarkastellaan kommunikoivien järjestelmien välisinä viesteinä, on tärkeää että viestiformaatista on sovittu täsmällisesti. Yleisemmin tarkasteltuna tarvitaan paitsi (universaaleja) sanastoja, myös (universaaleja) skeemoja sekä (universaaleja) datatyyppejä (näihin palaamme myöhemmin). Kuten tunnettua, XML DTD ei tarjoa riittävää menetelmää em. sovellusten toteuttamiseen. Erityisesti, XML DTD ei kykene (hyvin) käsittelemään nimiavaruuksia, eikä tarjoa käyttökelpoista menetelmää datatyyppien määrittelyyn. XML Schema eli XML-skeemat esittelee keinon määritellä tietorakenteiden tyyppi URI-nimiin pohjautuviin nimiavaruuksiin vedoten (rajoitteina), sekä tarjoaa keinon monipuolisten datatyyppien määrittelyyn. Määrityksille löytyy jatkossa käyttöä myös varsinaisten XML-viestiformaattien ulkopuolella. 16
2 2.1 Välisoitto Pyrkimys kohti tiedon mekaanista hallintaa johtaa väistämättä kohti tiedon täsmällistä kuvailua Mutta ennen kuin kuvailu onnistuu, pitää tietoa osata mallintaa (ymmärrys vs. formalisointi vs. mekaaninen käsittely) Kysymys mitä mallinnetaan, miten ja millä tarkkuudella, jää lopulta sovelluskohtaisesti ratkaistavaksi 17
3 2.2 Esimerkki (1/2) Tarkastellaan esimerkin vuoksi tilannetta jossa halutaan välittää tilaustiedoista XML-muodossa (Ks. XML Schema Primer & po.xml) <?xml version="1.0"?> <purchaseorder orderdate=" "> <shipto country="us"> <name>alice Smith</name> <street>123 Maple Street</street> <city>mill Valley</city> <state>ca</state> <zip>90952</zip> </shipto> <billto country="us"> <name>robert Smith</name> <street>8 Oak Avenue</street> <city>old Town</city> <state>pa</state> <zip>95819</zip> </billto>... 18
4 2.3 Esimerkki (1/2), jatkuu <comment>hurry, my lawn is going wild!</comment> <items> <item partnum="872-aa"> <productname>lawnmower</productname> <quantity>1</quantity> <USPrice>148.95</USPrice> <comment>confirm this is electric</comment> </item> <item partnum="926-aa"> <productname>baby Monitor</productName> <quantity>1</quantity> <USPrice>39.98</USPrice> <shipdate> </shipdate> </item> </items> </purchaseorder> Tuttu rakenne, XML-dokumentti (so. nimetty dokumenttientiteetti) Tunnista osat... 19
5 2.4 Peruskäsitteitä ja huomioita Elementti on tyypiltään ns. kompleksinen jos sillä on lapsielementtejä tai attribuutteja (Complex Type), muutoin ns. yksinkertainen (Simple Type) - yksinkertaiset tyypit ovat käytännössä "datatyyppejä" tai listoja (mutta huomaa että yksinkertainenkin tyyppi voidaan määritellä itse) Attribuutit ovat aina tyypiltään yksinkertaisia Yksittäistä dokumenttia (tarkemmin: dokumenttiluokan esiintymää, Instance) tutkimalla ei selviä kaikki dokumentin tulkinnassa tarvittava tieto. Erityisesti, emme voi päätellä - minkälaisen rakenteen puitteissa tietoa on sallittua kuvata (vaihtelu) - mitä datatyyppejä rakenne sisältää (esim. päivämäärä) - mitä oletusarvoja tms. dokumentin tulkinnassa tarvitaan... tarvitsemme siis skeematietoa tulkinnan tueksi Eräs tuttu "skeemakieli" dokumentin tyypin määrittämiseen on XML DTD 20
6 2.5 Esimerkki: XML DTD (1/3) Lisäämme dokumenttiin eksplisiittisen tyyppitiedon: <?xml version="1.0"?> <!DOCTYPE purchaseorder SYSTEM "po.dtd"> <purchaseorder orderdate=" ">...</purchaseorder> Dokumentti voi nyt olla validi jos se noudattaa ilmoittamaansa tyyppimäärittelyä XML DTD ei kuitenkaan pysty mallintamaan tietoa kovin yksityiskohtaisesti Eräs mallinnus (po.dtd): <!-- po.dtd ON > <!ENTITY % USAddress "name,street,city,state,zip"> <!ENTITY % shipattrs "country NMTOKEN #FIXED 'US'"> <!ENTITY % itemattrs "partnum NMTOKEN #REQUIRED"> <!ELEMENT purchaseorder (shipto, billto, comment?, items)> <!ATTLIST purchaseorder orderdate CDATA #REQUIRED> 21
7 <!ELEMENT shipto (%USAddress;)> <!ATTLIST shipto %shipattrs;> <!ELEMENT billto (%USAddress;)> <!ATTLIST billto %shipattrs;> <!ELEMENT items (item*)> <!ELEMENT item (productname, quantity, USPrice, comment?, shipdate?)> <!ATTLIST item %itemattrs;> <!ELEMENT name (#PCDATA)> <!ELEMENT street (#PCDATA)> <!ELEMENT city (#PCDATA)> <!ELEMENT state (#PCDATA)> <!ELEMENT zip (#PCDATA)> <!ELEMENT comment (#PCDATA)> <!ELEMENT productname (#PCDATA)> <!ELEMENT quantity (#PCDATA)> <!ELEMENT USPrice (#PCDATA)> <!ELEMENT shipdate (#PCDATA)> <!ELEMENT partnum (#PCDATA)> 22
8 2.6 Esimerkki: XML DTD (3/3) Huomioita: - rajoittunut tietomalli, elementtien ja attribuuttien määrittelyn epäsymmetria (esim. #PCDATA vs. CDATA/NMTOKEN) - erikoinen syntaksi, eikä mahdollista määritellä esim. uudelleenkäytettävää elementin tietomallia muutoin kuin parametrientiteettien avulla - ei tukea nimiavaruuksille (ei tosin tässä esimerkissä haittaa) - ei datatyyppejä (esim. "päivämäärä") - dokumentointi päälleliimattujen kommenttien avulla - mutta idea melko yksinkertainen ja esitys tiivis (mieti mitä näin jää kuitenkin sanomatta) Rakennetaan seuraavaksi "vastaava" mutta rikkaampi tyyppimääritys/tietomalli XML-skeemamäärittelyn avulla... 23
9 2.7 XML Schema Suositus XML-skeemoista täydentää XML-perhettä yleiskäyttöisellä teksti- ja viestiformaattien mallinnuskielellä (vrt. tietokantasuunnittelu) 1. suositus vuonna 2001, määrittelyteknisiä päivityksiä 2004 Osat: - XML Schema Part 0: Primer (Second Edition),... Part 1: Structures ja Part 2: Datatypes Kommentteja - "yleinen näkemys" on, että suositus on hyvin ilmaisuvoimainen, mutta "tarpeettoman" monimutkainen ja hankala käyttää - seuraa DTD:n linjaa hyvässä ja pahassa (skeeman tulkinta saattaa esim. muuttaa dokumentin tietosisältöä oletusarvojen yms. takia) - jako rakenteiden ja datatyyppien välillä on hyvä; osaa 2 käytetään laajasti myös erillään osasta 1 (myös tällä kurssilla) 24
10 2.8 Esimerkki, mallinnus XML-skeeman avulla Ks. (po.xsd) <xsd:schema xmlns:xsd=" <xsd:annotation> <xsd:documentation xml:lang="en"> Purchase order schema for Example.com. Copyright 2000 Example.com. All rights reserved. </xsd:documentation> </xsd:annotation> <xsd:element name="purchaseorder" type="purchaseordertype"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complextype name="purchaseordertype"> <xsd:sequence> <xsd:element name="shipto" type="usaddress"/> <xsd:element name="billto" type="usaddress"/> <xsd:element ref="comment" minoccurs="0"/> 25
11 <xsd:element name="items" type="items"/> </xsd:sequence> <xsd:attribute name="orderdate" type="xsd:date"/> </xsd:complextype> <xsd:complextype name="usaddress"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="street" type="xsd:string"/> <xsd:element name="city" type="xsd:string"/> <xsd:element name="state" type="xsd:string"/> <xsd:element name="zip" type="xsd:decimal"/> </xsd:sequence> <xsd:attribute name="country" type="xsd:nmtoken" fixed="us"/> </xsd:complextype> <xsd:complextype name="items"> <xsd:sequence> <xsd:element name="item" minoccurs="0" maxoccurs="unbounded"> <xsd:complextype> <xsd:sequence> 26
12 <xsd:element name="productname" type="xsd:string"/> <xsd:element name="quantity"> <xsd:simpletype> <xsd:restriction base="xsd:positiveinteger"> <xsd:maxexclusive value="100"/> </xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name="usprice" type="xsd:decimal"/> <xsd:element ref="comment" minoccurs="0"/> <xsd:element name="shipdate" type="xsd:date" minoccurs="0"/> </xsd:sequence> <xsd:attribute name="partnum" type="sku" use="required"/> </xsd:complextype> </xsd:element> </xsd:sequence> </xsd:complextype> <!-- Stock Keeping Unit, a code for identifying products --> <xsd:simpletype name="sku"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{3}-[a-z]{2}"/> 27
13 </xsd:restriction> </xsd:simpletype> </xsd:schema> Viittaus ko. skeematiedostoon voidaan vihjeenä liittää XML-dokumentiin (vaan ei ole pakko), esim. (nyt ei määriteltyä nimiavaruutta): <purchaseorder orderdate=" " xmlns:xsi=" xsi:nonamespaceschemalocation="po.xsd">... Tällöin validointi (skeeman suhteen) esim. Xerces-parserilla (ks. onnistuu komennolla: java -classpath... dom.counter -s -v po.xml Kokeile verkossa, ks. esim. 28
14 2.9 Validointi: huomautuksia Dokumentti validoidaan skeeman suhteen periaatteessa samoin kuten DTD:nkin tapauksessa. Keskeisiä eroja: - skeemojen kielioppi on melko monimutkainen ja laajentaa DTD:n määrittelyä käsitteellisesti (ei kuitenkaan korvaa [yleisiä] entiteettejä) -...mahdollisuus rajata dokumenttiluokan rakenne paljon tarkemmin - XML-dokumentista (ns. esiintymästä, instance) ei ole pakko löytyä suoraa viittausta validoinnissa käytettävään skeemaan (joskin voi löytyä) jäsennin voi pakottaa validoinnin - validointi voi kiinnittyä erikseen nimetyn skeematiedoston ohella myös nimiavaruuden perusteella "Jokainen DTD voidaan esittää XML-skeemana muttei toisinpäin" Huom. XML Schema ei kuitenkaan ole "yleisin/vahvin ajateltavissa oleva" XML-skeemakieli määrityksen nimi (yleisnimi) on siten harhaanjohtava! 29
15 2.10 XML-skeeman yleisrakenne Skeema on XML-dokumentti (tai useita dokumentteja) joka määrittelee XMLdokumenttiluokan keskeisesti rajoitteiden ja oletusarvojen varassa: schema include import redefine annotation simpletype complextype element attribute attributegroup group Käytännössä skeema voi efektiivisesti tarkoittaa kaikkia niitä skeemamäärityksiä johon tarkasteltavan dokumentin esiintymäosa viittaa (evaluointi nimiavaruuksien perusteella) 30
16 2.11 Tyyppimäärittelyn perusteet (1/2) Tyyppimäärittely on elementtien ja attribuuttien tapauksessa oleellisesti samanlainen - attribuuteilla ei kuitenkaan voi olla sisältönä elementtejä tai toisia attribuutteja, niinpä attribuuttien tyypin on aina oltava yksinkertainen Elementin tai attribuutin tyyppi voidaan pääsääntöisesti määritellä kahdella tavalla. Ensimmäinen tapa on määritellä tyyppi implisiittisesti elementin tai attribuutin nimen ja esittelyn yhteydessä (ns. Anonymous Type): <xsd:element name="quantity"> <xsd:simpletype> <xsd:restriction base="xsd:positiveinteger"> <xsd:maxexclusive value="100"/> </xsd:restriction> </xsd:simpletype> </xsd:element> 31
17 2.12 Tyyppimäärittelyn perusteet (2/3) Toinen tapa on määritellä nimetty tietotyyppi johon elementin tai attribuutin esittelyssä viitataan -...tällöin siihen voidaan myös viitata useasti Esimerkki, nimetty yksinkertainen tyyppi: <xsd:attribute name="partnum" type="sku" use="required"/>... <xsd:simpletype name="sku"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{3}-[a-z]{2}"/> </xsd:restriction> </xsd:simpletype> 32
18 2.13 Tyyppimäärittelyn perusteet (3/3) Esimerkki, nimetty kompleksinen tyyppi: <xsd:element name="shipto" type="usaddress"/> <xsd:element name="billto" type="usaddress"/>... <xsd:complextype name="usaddress"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="street" type="xsd:string"/> <xsd:element name="city" type="xsd:string"/> <xsd:element name="state" type="xsd:string"/> <xsd:element name="zip" type="xsd:decimal"/> </xsd:sequence> <xsd:attribute name="country" type="xsd:nmtoken" fixed="us"/> </xsd:complextype> Vertaa vastaavaa määrittelyä DTD:n ja parametrientiteetin avulla 33
19 2.14 Elementtien määrittely, perusteet Elementtien määrittely tapahtuu analogisesti DTD:n tavoin (esim. kertojat), joskin syntaksi on uusi ja mukana on lisämääreitä, esim.: <xsd:element name="article" type="xsd:string" minoccurs="0" maxoccurs="unbounded" processcontents="strict" default="hello World!" nillable="true" /> Yleisessä tapauksessa määreet valitaan 14 attribuutin joukosta. Esimerkki uudesta piirteestä: nillable <article xsi:nil="false"/> Esittelyn yhteydessä voidaan viitata (type) paitsi nimettyyn tietotyyppiin (esim. xsd:string, USAdress), myös toisaalla määriteltyyn elementtiin (ref): <xsd:element ref="comment" minoccurs="0"/> Huomaa että skeema ei määrittele mikä päätasolla luetelluista elementeistä (global) on dokumentin esiintymän juurielementti, ts. skeemamäärittely on aina suhteellinen (parseri toki aina tietää esiintymän juurielementin!) 34
20 2.15 Validoinnin tarkkuus Elementin tyyppimäärittelyn attribuutti processcontents (skip lax strict) tarjoaa keinon sisällyttää dokumentteihin (wf) osia joiden tyyppi voi olla tietyssä mielessä epämääräinen, vrt. esim. <element name="htmlexample"> <complextype> <sequence> <any namespace=" minoccurs="1" maxoccurs="unbounded" processcontents="skip"/> </sequence> </complextype> </element> Arvo skip: Elementin sisältöä ei edes yritetä validoida Arvo lax: Elementin sisältö validoidaan vain siltä osin kuin se onnistuu (eli ilmoitettuihin nimiavaruuksiin vedoten) Arvo strict (oletus): Elementin tulee olla validoitavissa kokonaisuudessaan 35
21 2.16 Elementtien tietomallin määrittely: "DTD:stä tutut" Tietomalli rakennetaan keskeisesti operaattorien sequence, choice, group ja all avulla, esim. "(((shipto, billto) singleusaddress), comment?, items)" : <xsd:complextype name="purchaseordertype"> <xsd:sequence> <xsd:choice> <xsd:group ref="shipandbill"/> <xsd:element name="singleusaddress" type="usaddress"/> </xsd:choice> <xsd:element ref="comment" minoccurs="0"/> <xsd:element name="items" type="items"/> </xsd:sequence> <xsd:attribute name="orderdate" type="xsd:date"/> </xsd:complextype> <xsd:group id="shipandbill"> <!--HUOM: group@minoccures, maxoccurs.. --> <xsd:sequence> <xsd:element name="shipto" type="usaddress"/> <xsd:element name="billto" type="usaddress"/> </xsd:sequence> </xsd:group> 36
22 2.17 Elementtien tietomallin määrittely: all Operaattori all: luetellut elementit esiintyvät missä tahansa järjestyksessä Esim. <xsd:complextype name="purchaseordertype"> <xsd:all> <xsd:element name="shipto" type="usaddress"/> <xsd:element name="billto" type="usaddress"/> <xsd:element ref="comment" minoccurs="0"/> <xsd:element name="items" type="items"/> </xsd:all> <xsd:attribute name="orderdate" type="xsd:date"/> </xsd:complextype> Käyttöön (lapsellisia :-) rajoituksia: käytössä vain päätasolla (ei ryhmittelyyn tietomallin sisällä), lapset eivät saa olla ryhmiä, lapsille sallittu vain esiintymistä kuvaavat kertoimet 0 tai 1,... 37
23 2.18 Attribuuttien liittäminen elementtiin (1/2) Tarkastellaan ensin elementtiä jolla sisältönä vain merkkidataa...esim... <internationalprice currency="eur">423.46</internationalprice>...tapahtuu siten että "laajennetaan" valittua tietotyyppiä attribuutilla: <xsd:element name="internationalprice"> <xsd:complextype> <xsd:simplecontent> <xsd:extension base="xsd:decimal"> <xsd:attribute name="currency" type="xsd:string"/> </xsd:extension> </xsd:simplecontent> </xsd:complextype> </xsd:element> Jos attribuutteja on useita, ne vain luetellaan jossakin järjestyksessä 38
24 2.19 Attribuuttien liittäminen elementtiin (2/2) Lapsielementtejä omaavien elementtien attribuuttien esittelyt luetellaan heti elementin tietomallin jälkeen complextype-elementin sisällä: <element name="item"> <complextype> <sequence> <xsd:element ref="comment" minoccurs="0"/> <xsd:element name="items" type="items"/> </sequence> <attribute name="desc" type="xsd:string"/> <!-- jne. --> </complextype> </element>...sama pätee yhdistelmäsisältöisille elementeille 39
25 2.20 Yhdistelmäsisältöinen elementti (1/2) Yhdistelmäsisältöinen tietomalli ilmoitetaan attribuutilla mixed: <xsd:element name="letterbody"> <xsd:complextype mixed="true"> <xsd:sequence> <xsd:element name="salutation"> <xsd:complextype mixed="true"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </xsd:element> <xsd:element name="quantity" type="xsd:positiveinteger"/> <xsd:element name="productname" type="xsd:string"/> <xsd:element name="shipdate" type="xsd:date" minoccurs="0"/> <!-- etc. --> </xsd:sequence> </xsd:complextype> </xsd:element> 40
26 2.21 Yhdistelmäsisältöinen elementti (2/2) Sallittu esiintymä: <letterbody> <salutation>dear Mr.<name>Robert Smith</name>.</salutation> Your order of <quantity>1</quantity> <productname>baby Monitor</productName> shipped from our warehouse on <shipdate> </shipdate>.... </letterbody> Huom. toisin kuin DTD, XML-skeema voi rajoittaa yhdistelmäsisältöisen elementin lapsielementtien esiintymisjärjestystä ja lukumäärää (ts. valinnat sequence, choice, all ovat merkitseviä) 41
27 2.22 Tyhjä elementti Kaikille elementeillä ei ole sisältöä. Tyhjän elementin määrittely hoidetaan (hieman erikoisesti) rajoittimella Käytössä on lyhennemerkintä: <xsd:element name="br"> <xsd:complextype/> </xsd:element> Jos tyhjällä elementillä on attribuutteja (kuten yleensä), tarvitaan kompleksinen tietotyyppi: <xsd:element name="internationalprice"> <xsd:complextype> <xsd:complexcontent> <xsd:restriction base="xsd:anytype"> <xsd:attribute name="currency" type="xsd:string"/> <xsd:attribute name="value" type="xsd:decimal"/> </xsd:restriction> </xsd:complexcontent> </xsd:complextype> </xsd:element> 42
28 2.23 Rajoitteeton elementti(tyyppi): anytype Jos kaikki (merkki- ja lapsielementtisisältö) käy, voidaan määritellä <xsd:element name="anything" type="xsd:anytype"/> Potentiaalinen mallinnuksen vaaranpaikka piilee siinä, että tämä on typeattribuutin oletusarvo, ts. samaa tarkoittaa myös <xsd:element name="anything"/> Huom. - DTD-mallinnuksessa ANY-tyyppinen elementti on (kukaties) käyttökelpoinen kun halutaan määritellä DTD jossa on "reikiä" (so. kohtia joista voi löytyä "mitä tahansa") -...skeemojen tapauksessa sellaisen elementin tietomalli jota ei haluta määritellä "tässä ja nyt" voidaan kuitenkin esittää järkevämmin kuin anytype-tyyppisenä (nimiavaruuksiin vedoten, vrt. esim. processcontents) 43
29 2.24 Attribuuttien määrittely Attribuutit määritellään siis kompleksisten tyyppien osana: <xsd:element name="internationalprice"> <xsd:complextype> <xsd:simplecontent> <xsd:extension base="xsd:decimal"> <xsd:attribute name="currency" type="xsd:string"/> </xsd:extension> </xsd:simplecontent> </xsd:complextype> </xsd:element> Attribuuttien määrittelyyn liittyvät keskeisesti attribuutit - use: optional required prohibited (oletuksena arvo optional) - default: oletusarvon ilmoittaminen - fixed: pakotettu arvo - minoccurs/maxoccurs: esiintymiskerrat (0/1) 44
30 2.25 Vaihtoehtoisten attribuuttiarvojen määrittely Tuttu <!ATTLIST X shipby (air land any) #IMPLIED> määritellään taas rajoitteiden avulla <xsd:attribute name="shipby"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="air"/> <xsd:enumeration value="land"/> <xsd:enumeration value="any"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> Datatyyppien käyttö laajentaa merkittävästi tapaa jolla attribuuttien (tai elementtien!) arvoalueita voidaan määritellä Yleisesti arvo voidaan määritellä esim. säännönmukaisen lausekkeen avulla (tähän palataan myöhemmin) 45
31 2.26 Attribuuttiryhmien määrittely Attribuutit liittyvät elementteihin, mutta skeemoissa ne voidaan määritellä myös viitattavina ryhminä - kompleksisen tietotyypin avulla tai attribuuttiryhmien avulla: <xsd:element name="item" minoccurs="0" maxoccurs="unbounded"> <xsd:complextype> <xsd:sequence> <xsd:element name="productname" type="xsd:string"/>... </xsd:sequence> <xsd:attributegroup ref="itemdelivery"/> </xsd:complextype> </xsd:element> <xsd:attributegroup id="itemdelivery"> <xsd:attribute name="partnum" type="sku" use="required"/> <xsd:attribute name="weightkg" type="xsd:decimal"/>.. </xsd:attributegroup> 46
32 2.27 Nimiavaruuksista Eräs keskeisimmistä skeemojen piirteistä on tuki nimiavaruuksille Skeemamäärittely voi sisältää ns. kohdenimiavaruuden (target namespace) johon skeeman ajatellaan esittelevän sanastonsa <schema xmlns=" xmlns:po=" targetnamespace=" elementformdefault="unqualified" attributeformdefault="unqualified"> <!--...Default oletusarvot-->... Nimiavaruuksien syntaksi sallii kuitenkin saman skeeman määrittelyn usein eri tavoin - skeemat kuitenkin esim. (ikävästi) sotkevat nimiavaruuksien prefiksinimet asiasisällön kanssa Määrittelyssä kannattaa tietenkin pyrkiä selkeyteen, hallittavuuteen ja yksinkertaisuuteen 47
33 2.28 Esimerkki: Purchase Order nimiavaruuksilla (1/2) <schema xmlns=" xmlns:po=" targetnamespace=" elementformdefault="unqualified" attributeformdefault="unqualified"> <element name="purchaseorder" type="po:purchaseordertype"/> <element name="comment" type="string"/> <complextype name="purchaseordertype"> <sequence> <element name="shipto" type="po:usaddress"/> <element name="billto" type="po:usaddress"/> <element ref="po:comment" minoccurs="0"/> <!-- etc. --> </sequence> <!-- etc. --> </complextype> 48
34 2.29 Esimerkki: Purchase Order nimiavaruuksilla (2/2) <complextype name="usaddress"> <sequence> <element name="name" type="string"/> <element name="street" type="string"/> <!-- etc. --> </sequence> </complextype> <!-- etc. --> </schema> Kommentteja: - huomaa skeeman oletusnimiavaruus (olisi voitu käyttää prefiksejä!) - viittaukset skeeman sisällä nimiavaruuksiin vedoten Esimerkkiskeema on käytännössä hieman erikoinen yhdistelmä nimiavaruuteen sidottuja (qualified) ja ilman nimiavaruutta (unqualified) sovellettavia nimiä 49
35 2.30 Esimerkkidokumentti, osa 1 <?xml version="1.0"?> <apo:purchaseorder xmlns:apo=" orderdate=" "> <shipto country="us"> <name>alice Smith</name> <street>123 Maple Street</street> <!-- etc. --> </shipto> <billto country="us"> <name>robert Smith</name> <street>8 Oak Avenue</street> <!-- etc. --> </billto> <apo:comment>hurry, my lawn is going wild!</apo:comment> <!-- etc. --> </apo:purchaseorder> Mieti mihin nimiavaruuteen elementit ja attribuutit kuuluvat! Ts. Prefiksillä apo koodatut nimet toimivat nyt globaaleina niminä 50
36 2.31 Esimerkki: Purchase Order, toinen versio Pakotetaan sitten nimiavaruus koko dokumenttiin: <schema xmlns=" xmlns:po=" targetnamespace=" elementformdefault="qualified" attributeformdefault="unqualified"> <element name="purchaseorder" type="po:purchaseordertype"/> <element name="comment" type="string"/> <complextype name="purchaseordertype"> <!-- etc. --> </complextype> <!-- etc. --> </schema> Ts. nyt ero piilee siinä, että kaikki elementit (joita ei erikseen muuksi kvalifioida) osoitetaan kohdenimiavaruuteen 51
37 2.32 Esimerkkidokumentti, versio 2 <?xml version="1.0"?> <purchaseorder xmlns=" orderdate=" "> <shipto country="us"> <name>alice Smith</name> <street>123 Maple Street</street> <!-- etc. --> </shipto> <billto country="us"> <name>robert Smith</name> <street>8 Oak Avenue</street> <!-- etc. --> </billto> <comment>hurry, my lawn is going wild!</comment> <!-- etc. --> </purchaseorder> Esiintymäosassa nimiavaruus voidaan ilmoittaa taas usein eri tavoin, siis myös kvalifioitujen nimien avulla (mv. prefiksejä käyttäen) 52
38 2.33 Kvalifioidut attribuutit Nimiavaruutta ei "yleensä" määritellä attribuuteille (paitsi standardoiduille globaaleille attribuuteille, vrt. esim. xlink:href, xi:include, tms.) Attribuutin nimiavaruus voidaan toki skeemassa kuitenkin pakottaa: <schema xmlns=" xmlns:po=" targetnamespace=" elementformdefault="qualified" attributeformdefault="unqualified">... <element name="secure"> <complextype> <sequence>... </sequence> <attribute name="publickey" type="base64binary" form="qualified"/> </complextype> </element> </schema> Tällöin dokumentin esiintymäosassa attribuutti publickey on pakko kvalifioida (nyt siis nimiavaruuteen 53
39 2.34 Lopuksi On aina suositeltavaa käyttää kvalifioituja nimiä itse XML Schema -sanaston yhteydessä, esim. xsd:element (vrt. oletusnimiavaruuden käyttö) Nimiavaruudet rikastavat tyyppimäärittelyn mahdollisuuksia, erityisesti: - ei pakotettua juurielementtiä -...niinpä eri nimiavaruuksiin pohjautuvien määrittelyjen yhdistely on mahdollista -... ja esim. tietyn skeeman mukaisten elementtirakenteiden upottaminen osaksi toisia skeemoja on mahdollista Skeema ja DTD voivat olla käytössä myös rinnakkain, - yleensä "järkevää" käyttöä on sieventää esim. nimiavaruuksia entiteettien avulla yms. 54
2 XML Schema: johdanto ja rakenteiden perusteet
2 XML Schema: johdanto ja rakenteiden perusteet Kun XML-dokumentteja tarkastellaan kommunikoivien järjestelmien välisinä viesteinä, on tärkeää että viestiformaatista on sovittu täsmällisesti. Yleisemmin
LisätiedotXML-metakieli, k
DTD:n puutteita DTD ei ole XML-muotoinen Jäsennys vaatii omat työkalut Eri dokumenttityyppien yhteiskäyttöä ei tueta DTD-määritelmien lainailua ja yhdistelyä ei voi validoida Tietotyyppejä on rajoitetusti:
Lisätiedot4 XML Schema: tyyppihierarkiat ja avaimet
4 XML Schema: tyyppihierarkiat ja avaimet Skeemat mahdollistavat yksinkertaisten rakenteiden ja tietotyyppien määrittelyn ohella myös muutakin käyttökelpoista. Erityisesti: - myös kompleksisia tyyppejä
LisätiedotHelsingin yliopisto / TKTL XML-Metakieli XML Schema
W3C:n tavoite kehittää parempi määrittelykieli ilmaisuvoimaisempi XML-rakenteinen itsedokumentoiva yksinkertainen Tekniseltä kannalta tuki nimiavaruuksille käyttäjän omat tietotyypit määritysten perintä
LisätiedotXML standardeja. nimiavaruudet, namespaces XHTML XML Schema linkitys. 26.3.2015 Jaana Holvikivi 1
XML standardeja nimiavaruudet, namespaces XHTML XML Schema linkitys 26.3.2015 Jaana Holvikivi 1 Namespaces - ongelma mr. President zaphod
LisätiedotXML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen
XML kielioppi Elementtien ja attribuuttien määrittely Ctl230: Luentokalvot 11.10.2004 Miro Lehtonen Dokumenttien mallinnus Säännöt dokumenttityypeille 3Mahdollisten dokumenttirakenteiden määrittely Samassa
LisätiedotXML and XML Schema 29
XML and XML Schema 29 XML specification Technical XML spec. describes XML syntax using Extended Backus-Naur Format (EBNF), which is compact unequivocal easy to read and interpreted (by computers) EBNF
Lisätiedot7 DTD ja entiteetit: dokumentin fyysinen rakenne
è è è DTD ja entiteetit: dokumentin fyysinen rakenne 7 DTD ja entiteetit: dokumentin fyysinen rakenne Tietojenkäsittelyssä kaikki tieto talletetaan jonnekin. XML-dokumenttien fyysinen rakenne määräytyy
LisätiedotXML merkintäkielten perusteet. Luento 3 Pekka Aarnio
XML merkintäkielten perusteet Luento 3 Pekka Aarnio 1 Luennon sisältö OSA 1: XML-Schema OSA 2: XML-Schema ja nimiavaruudet 2 Osa 1: sisältö Osa 1 1. Mikä on XML-Schema-kieli 2. Tietotyypit ja elementtien
LisätiedotXML merkintäkielten perusteet. Luento 3 Pekka Aarnio
XML merkintäkielten perusteet Luento 3 Pekka Aarnio 1 Luennon sisältö OSA 1: XML-Schema OSA 2: XML-Schema ja nimiavaruudet 2 Osa 1: sisältö Osa 1 1. Mikä on XML-Schema-kieli 2. Tietotyypit ja elementtien
LisätiedotXML-pohjaiset rakennemäärittelyt
-pohjaiset rakennemäärittelyt Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: -perustainen kommunikointi edellyttää
LisätiedotNELLI-Tunnis. Käyttäjän tunnistus NELLI-tiedonhakuportaalissa yleisissä kirjastoissa. Versio 1.0. 16.5.2006 Ere Maijala Kansalliskirjasto
NELLI-Tunnis Käyttäjän tunnistus NELLI-tiedonhakuportaalissa yleisissä kirjastoissa Versio 1.0 16.5.2006 Ere Maijala Kansalliskirjasto Sisällysluettelo Johdanto...3 Tekniikka...3 Esimerkit...4 XML-Skeema...5
Lisätiedot3 XML Schema: datatyypit
3 XML Schema: datatyypit XML Schema esittelee DTD-kieleen verrattuna jotakin aivan uutta: datatyypin käsitteen. Datatyyppi on pohjimmiltaan merkkijono jonka rakenne voidaan testata kuten elementinkin.
Lisätiedot7 DTD ja entiteetit: dokumentin fyysinen rakenne
DTD ja entiteetit: dokumentin fyysinen rakenne 7 DTD ja entiteetit: dokumentin fyysinen rakenne Tietojenkäsittelyssä kaikki tieto talletetaan jonnekin. XML-dokumenttien fyysinen rakenne määräytyy ns. entiteettien
LisätiedotP e d a c o d e ohjelmointikoulutus verkossa
P e d a c o d e ohjelmointikoulutus verkossa XML-kielen perusteet Teoria ja ohjelmointitehtävät XML-kielen perusteet 3 Sisältö YLEISKATSAUS KURSSIN SISÄLTÖIHIN... 7 YLEISKATSAUS KURSSIN SISÄLTÖIHIN...
LisätiedotPaikkatiedot ja Web-standardit
Paikkatiedot ja Web-standardit Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide
LisätiedotXML johdatus: DTD. Jaana Holvikivi
XML johdatus: DTD Jaana Holvikivi Dokumenttityypin rakennemäärittely DTD = kielioppi esim. XML- esitykselle Elementit Attribuutit Entiteetit ja notaatiot Prosessointikomennot DTD:n suunnittelu 19.1.2013
LisätiedotRakenteisten dokumenttien jatkokurssi, syksy 2006
Rakenteisten dokumenttien jatkokurssi, syksy 2006 MATHM-57200 Rakenteisten dokumenttien jatkokurssi, 5 op opetetaan syksyn 1-2 periodeilla Kotisivu: http://matriisi.ee.tut.fi/hmopetus/rdj/index.html Luennot:
Lisätiedot6 DTD ja dokumentin tyyppimääritys
6 DTD ja dokumentin tyyppimääritys Tietojenkäsittelyssä päähuomio ei yleensä ole tiedon matalan tason formaatissa vaan sovelluksissa joissa tietoa käytetään loogisesti jäsennettynä. XML-merkkaus tarjoaa
Lisätiedot6 DTD ja dokumentin tyyppimääritys
6 DTD ja dokumentin tyyppimääritys Tietojenkäsittelyssä päähuomio ei yleensä ole tiedon matalan tason formaatissa vaan sovelluksissa joissa tietoa käytetään loogisesti jäsennettynä. XML-merkkaus tarjoaa
LisätiedotGML-mallinnus. 1 Johdanto 1/27. Paikkatietojen mallintaminen tiedonsiirtoa varten. Liite III
Paikkatietojen mallintaminen tiedonsiirtoa varten Liite III GML-mallinnus 1 Johdanto... 1 2 Yleistä... 2 3 GML kohdemalli... 3 3.1 Objekti/ominaisuus -rakenne... 3 3.2. Kohde... 4 3.3 Kohdejoukko... 6
LisätiedotXML-merkkaus. Merkkidata, prosessointikomennot, kommentit
XML-merkkaus Merkkidata, prosessointikomennot, kommentit Merkkidata Elementtien ja attribuuttien arvot 3Merkkijonot elementtien tunnisteiden välissä 3Attribuuttien arvot 3Kielletyt merkit < & Voidaan korvata
LisätiedotOpiskeluoikeudet. Kaaviokuva
Opiskeluoikeudet Opiskeluoikeuksien tiedonsiirtoskeema. XML-skeema jonka avulla on tarkoitus siirtää useiden opiskeluoikeuksien tiedot kerralla. Skeeman voi myös lukea sisään muihin skeemoihin jolloin
Lisätiedot3 Verkkosaavutettavuuden tekniset perusteet
3 Verkkosaavutettavuuden tekniset perusteet Saavutettavuuden toteuttaminen edellyttää lähtökohtaisesti tietoa laitteista ja sovelluksista, käyttäjistä ja käyttötavoista, sekä tekniikasta. Tekniikasta on
Lisätiedot6 DTD ja dokumentin tyyppimääritys
6 DTD ja dokumentin tyyppimääritys XML-merkkaus tarjoaa yhteensopivan ja yksinkertaisen perustan rakenteisten dokumenttien tms. rakenteisen tiedon käsittelyyn. Tietojenkäsittelyn sovelluksissa päähuomio
LisätiedotOpintosuoritukset. Kaaviokuva
Opintosuoritukset Opintosuoritukset-tiedonsiirtoskeema. XML-skeema jonka avulla voidaan siirtää useita opintosuoritusten tietoja kerralla. Skeeman voi myös lukea sisään muihin skeemoihin jolloin myös yksittäisiä
LisätiedotLuento 2: XML:n syntaksi
Luento 2: XML:n syntaksi AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XML:n syntaksi Peruskäsitteitä Rakennepalaset elementit leipäteksti attribuutit Nimiavaruudet Dokumentin rakenteen määrittely
LisätiedotSÄHKE-hanke. Tekninen mallintaminen SÄHKE-metatietojen XML Schema
04.02.2005 1 (5) SÄHKE-hanke SÄHKE-metatietojen XML Schema Versio ja pvm Laatinut Tarkpvm Tarkastanut Hyvpvm Hyväksynyt 2.0 / 04.02.2005 Anneli Rantanen 15.02.2005 Markus Merenmies 18.02.2005 Ohjausryhmä
LisätiedotHelsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli (2011) Harri Laine 1. Jäsennys ja sarjallistaminen
Jäsennys ja sarjallistaminen Tietorakenteen määrittely Hyvinmuodostettu / validi rakenne Rakenteen määrittely DTD XML-jäsentäjä (parser) on työkalu, joka pystyy muodostamaan puurakenteen tekstuaalisesta
LisätiedotXML-saatavuuskysely. XML-tiedoston kuvaus. versio 1.3.3 04.02.2008
XML-saatavuuskysely XML-tiedoston kuvaus versio 1.3.3 04.02.2008 Ecom Oy 2004-2008 XML-saatavuuskysely Versio 1.3.3 2/15 Sisällysluettelo Historia...3 Rakenteen hierarkinen esitys...4 Elementtien kuvaukset...5
LisätiedotCSE-A1200 Tietokannat
CSE-A1200 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin kurssilta T-76.1143 sekä kurssin oppikirjaan 3.5.2016 CSE-A1200 Tietokannat 3.5.2016 1 / 39 Oppimistavoitteet: tämän luennon
LisätiedotOmat Lähdöt ohjelmointirajapinta: Versio 1.01
Sivu 1(19) Omat Lähdöt ohjelmointirajapinta: Versio 1.01 Seasam House Oy Helsingin seudun liikenne Hyväksynyt: Päivämäärä: Hyväksynyt: Päivämäärä: www.seasam.com Sivu 2(19) Versio historia Versio 0.01
LisätiedotHelsingin yliopisto/tktl XML-metakieli XPath
XML-perusrakenteen ympärille on kehitetty tekniikoita ja standardeja kuvaamaan XML-rakenteisen tiedon käsittelyä sekä tietojen välisiä kytkentöjä. Näissä keskeinen tarve on pystyä osoittamaan operaatioiden
LisätiedotSisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002
, XHTML ja CSS T-111.361 Hypermediadokumentin laatiminen 2002 XHTML CSS XSL Sisältö EXtensible Markup Language W3C Recommendation helmikuu 1998 SGML:n osajoukko Standard Generalized Markup Language Kevyempi
LisätiedotXML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.
XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus
LisätiedotTekninen rajapinta Zip-tiedosto sovelluskehittäjälle Kansallisen tulorekisterin perustamishanke
Versio 1.11 Kansallisen tulorekisterin perustamishanke SISÄLLYS 1 Versiohistoria... 3 2 Zip-tiedoston sisältö... 6 2.1 WSDL-kuvaukset... 6 2.2 XSD-skeematiedostot... 6 2.3 Sanomarakenne-esimerkit... 6
LisätiedotTekninen rajapinta Zip-tiedosto sovelluskehittäjälle Kansallisen tulorekisterin perustamishanke
Versio 1.07 Tekninen rajapinta Zip-tiedosto sovelluskehittäjälle Kansallisen tulorekisterin perustamishanke SISÄLLYS 1 Versiohistoria... 3 2 Zip-tiedoston sisältö... 6 2.1 WSDL-kuvaukset... 6 2.2 XSD-skeematiedostot...
Lisätiedot9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus
9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus XSL-muunnos voi tietenkin tuottaa myös tiettyyn nimiavaruuteen liittyviä kohdedokumentteja (tarvitaan aina jo esim. XHTML-sovelluksissa!) Helpoimmillaan
LisätiedotJHS 162 Paikkatietojen mallintaminen tiedonsiirtoa varten Liite 3 GML-mallinnus
JHS 162 Paikkatietojen mallintaminen tiedonsiirtoa varten Liite 3 GML-mallinnus Versio: 12.01.2011 Julkaistu: Voimassaoloaika: toistaiseksi Sisällys 1 Johdanto... 1 2 Yleistä... 2 3 GML-kohdemalli... 3
LisätiedotXML / DTD / FOP -opas Internal
XML / DTD / FOP -opas Internal Reviewed: - Status: pending approval Approved by: - Author: Sakari Lampinen Revision: 1.0 Date: 15.10.2000 1 Termit DTD (data type definition) on määrittely kielelle, niinkuin
LisätiedotJHS 162 Paikkatietojen mallintaminen tiedonsiirtoa varten
JHS 162 Paikkatietojen mallintaminen tiedonsiirtoa varten Versio: 2.1 5.10.2012 Julkaistu: 31.10.2011 Voimassaoloaika: toistaiseksi Sisällys 1 Johdanto... 2 1.1 Suosituksen tausta... 2 1.2 Suosituksen
LisätiedotElementtien tyyppideklaraatiot
Elementtien tyyppideklaraatiot Kuten tunnettua, XML-dokumenttien loogisen rakenteen peruspalasia ovat elementit, esim: hello world! Elementtien syntaksi seuraa suoraan XML-spesifikaation
Lisätiedot13 Nimiavaruudet. kirjoitetaan muotoon (ja koodataan vähän lisätietoa) huomataan heti, mitä kirjoittaja ajaa takaa ja tarkoittaa. Vai huomataanko?
13 Nimiavaruudet Huomautus: Otsikon voisi kuvaavammin kirjoittaa muodossa "structdoc:section". Syy selviää piakkoin Merkkauksen ideana on helpottaa tiedon ja metatiedon erottelua tarjoamalla dokumenteille
LisätiedotJulkishallinnon XML-skeemat v0.5 JHS-suositus
Julkishallinnon XML-skeemat v0.5 JHS-suositus Keskustelutilaisuus 22.10.2008, Kansallismuseon auditorio Lasse Akselin TietoEnator lasse.akselin@tietoenator.com Sisällys Johdanto Nimeämissäännöt Skeemojen
LisätiedotTietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke
Versio 1.05 Tietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Käsittelypalautteen kysely 2 (8) Versiohistoria Versio Päivämäärä
LisätiedotRDF ja RDFS. 8 RDF ja RDFS
8 RDF ja RDFS RDF:n merkitys selkiytyy kun tarkastelemme RDFsanastojen määrittelyä (kuvailua). RDF-skeemat (RDF Schema) tarjoaa peruskäsitteet joiden varassa voidaan karkeasti luonnehtia esim. yksinkertaisten
LisätiedotLuento 12: XML ja metatieto
Luento 12: XML ja metatieto AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XML ja metatieto Metatieto rakenne sanasto Resource Description Framework graafikuvaus XML Semanttinen Web agentit 2 1 Metatieto
LisätiedotTietojen jakelu Skeemat Palvelupyyntö Kansallisen tulorekisterin perustamishanke
Versio 1.05 Tietojen jakelu Skeemat Palvelupyyntö Kansallisen tulorekisterin perustamishanke Tietojen jakelu Skeemat Palvelupyyntö 2 (11) Versiohistoria Versio Päivämäärä Kuvaus 1.0 12.6.2017 Dokumentti
Lisätiedotè è è RDF-perusteet 7 RDF-perusteet
7 RDF-perusteet Semanttisen Webin määrittelyteknisen ytimen muodostaa siis Resource Description Framework (RDF) -määritys. Tarkastellaan seuraavassa lyhyesti kielen (kaikille sovelluksille yhteisiä) primitiivejä
LisätiedotSchema ReitinTilaus.xsd
Schema ReitinTilaus.xsd element ReitinTilaus ReitinTilaus children annotation Reittipiste complex documentatio n Sisältää MPK:n kuljetusoperaattorille tekemän
LisätiedotJHS 183 Julkisen hallinnon palvelujen tietomalli ja ryhmittely verkkopalveluissa Liite 3 XML-skeeman kuvaus ja esimerkit
JHS 183 Julkisen hallinnon palvelujen tietomalli ja ryhmittely verkkopalveluissa Liite 3 XML-skeeman kuvaus ja esimerkit Versio: 05.03.2013 Julkaistu: 28.2.2013 Voimassaoloaika: toistaiseksi Sisällys 1
LisätiedotJUHTA Julkisen hallinnon tietohallinnon neuvottelukunta
JHS 177 Paikkatietotuotteen määrittely Liite 2 Hallinnollisen jaotuksen XML skeema Versio: 1.0 Julkaistu: 21.10.2010 Voimassaoloaika: toistaiseksi Hallinnollinen jaotus esimerkin UML luokkakaaviosta johdettu
LisätiedotJHS XXX Julkishallinnon XML-skeemat
JHS XXX Julkishallinnon XML-skeemat Versio: 0.5 Julkaistu: Voimassaoloaika: Sisällys 1 Johdanto... 2 2 Soveltamisala... 2 3 Termit ja määritelmät... 2 4 Sanastotyön ja XML-skeemojen yhteys... 2 5 XML-rakenteiden
LisätiedotYhteentoimivuutta edistävien työkalujen kehittäminen
Yhteentoimivuutta edistävien työkalujen kehittäminen Semantiikkaa organisaatioiden välisen tiedonvaihdon helpottamiseksi Mikael af Hällström, Verohallinto Esityksen sisältö Taustatekijöitä (OKM:n hallinnonala,
LisätiedotSemanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto
Semanttinen Web Ossi Nykänen ossi.nykanen@tut.fi Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto Esitelmä "Semanttinen Web" Sisältö Konteksti: W3C, Web-teknologiat
LisätiedotPoikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group
1.10.2010 1(15) Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group Graanintie 7 Tel. + 358 15 338 800 FIN-50190 MIKKELI Fax + 358 15 338 810 VERSIOHISTORIA Versio Pvm Tekijä Selite 1.0
LisätiedotXML johdanto, uusimmat standardit ja kehitys
johdanto, uusimmat standardit ja kehitys Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: on W3C:n suosittama
LisätiedotTietojen toimittaminen Skeemat Vastaanottokuittaus Kansallisen tulorekisterin perustamishanke
Versio 1.02 Tietojen toimittaminen Skeemat Vastaanottokuittaus Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Vastaanottokuittaus 2 (10) Versiohistoria Versio Päivämäärä Kuvaus
LisätiedotXML rakenteen suunnittelu. Jaana Holvikivi
XML rakenteen suunnittelu Jaana Holvikivi XML suunnittelu Dokumentin ilmentymä elementit attribuutit (määritteet) entiteetit prosessointikäskyt 19.3.2015 Jaana Holvikivi 2 Elementtien sisäkkäisyys: säännöt
LisätiedotTietojen toimittaminen Skeemat Mitätöintitiedot Kansallisen tulorekisterin perustamishanke
Versio 1.0 Tietojen toimittaminen Skeemat Mitätöintitiedot Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Mitätöintitiedot 2 (10) Versiohistoria Versio Päivämäärä Kuvaus 1.0
LisätiedotJHS 170 Julkishallinnon XML-skeemat
JHS 170 Julkishallinnon XML-skeemat Versio: 1.2 5.10.2012 Julkaistu: 30.3.2009 Voimassaoloaika: Toistaiseksi Sisällys 1 Johdanto... 2 2 Soveltamisala... 2 3 Termit ja määritelmät... 2 4 Sanastotyön ja
LisätiedotTietojen toimittaminen Skeemat Mitätöintitiedot Kansallisen tulorekisterin perustamishanke
Versio 1.04 Tietojen toimittaminen Skeemat Mitätöintitiedot Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Mitätöintitiedot 2 (12) Versiohistoria Versio Päivämäärä Kuvaus 1.0
LisätiedotTutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.
3 HTML ja XHTML Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.
LisätiedotTietojen jakelu Skeemat Lokitiedot Kansallisen tulorekisterin perustamishanke
Versio 1.0 Tietojen jakelu Skeemat Lokitiedot Kansallisen tulorekisterin perustamishanke Tietojen jakelu Skeemat Lokitiedot 2 (15) Versiohistoria Versio äivämäärä Kuvaus 1.0 12.6.2017 Dokumentti julkaistu.
LisätiedotPAIKKATIETOIKKUNAN LUETTELOPALVELU KÄYTTÖOHJE
PAIKKATIETOIKKUNAN LUETTELOPALVELU KÄYTTÖOHJE Sisällysluettelo Sisällysluettelo... 2 1. Yleistä Luettelopalvelusta... 3 2. Luettelopalvelun tulevia ominaisuuksia... 3 3. Käyttöoikeudet... 4 4. Lisenssit...
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 30. marraskuuta 2015 Sisällys t Väitöstilaisuus 4.12.2015 kello 12 vanhassa juhlasalissa S212 saa tulla 2 demoruksia
LisätiedotVaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta.
1. Julkaisutoiminnan peruskysymyksiä a) Mieti kohderyhmät b) Mieti palvelut c) Mieti palvelujen toteutus Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta. PALVELUKOKONAISUUDET:
LisätiedotKehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy
Kehitysohje ETL-työkalu Versio Pvm Tekijä Kuvaus 0.1 15.1.2005 Timo Sallinen Ensimmäinen versio 0.2 26.1.2005 Timo Sallinen Täydenetty pohjaa 0.3 06.02.2005 Mika Suvanto Pieniä täydennyksiä ja oikolukua
LisätiedotXML-pohjaiset kyselyt
XML-pohjaiset kyselyt Miikka Antikainen 21.05.2008 Joensuun yliopisto Tietojenkäsittelytieteen laitos Pro gradu -tutkielma TIIVISTELMÄ Rakenteisen tiedon käyttö kasvaa yhä edelleen nykyajan tietojärjestelmissä,
Lisätiedot5 Merkkaus: XML protokollana
5 Merkkaus: XML protokollana XML on siis ns. metakieli, joka käytännössä voidaan tulkita tavaksi merkitä ja tyypittää rakenteisia dokumentteja. XML on kuitenkin ennen kaikkea standardimuotoinen tietorakenne
LisätiedotApuja ohjelmointiin» Yleisiä virheitä
Apuja ohjelmointiin» Yleisiä virheitä Ohjelmaa kirjoittaessasi saattaa Visual Studio ilmoittaa monenlaisista virheistä "punakynällä". Usein tämä johtuu vain siitä, että virheitä näytetään vaikket olisi
LisätiedotOpusCapitaTYVI asiakasjärjestelmäliittymä 2.2
OpusCapita TYVI AJL 1 (28) OpusCapitaTYVI asiakasjärjestelmäliittymä 2.2 Tekninen kuvaus versio 1.6 OpusCapita Group Oy Postintaival 7 FI-00230 HELSINKI, FINLAND Tel. +358 20 452 3000 Fax +358 20 452 9271
LisätiedotM. Merikanto 2012 XML. Merkkauskieli, osa 2
XML Merkkauskieli, osa 2 Esimerkki: XML-dokumentti resepti maitokaakao
LisätiedotTietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke
Versio 1.0 Tietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Käsittelypalautteen kysely 2 (7) Versiohistoria Versio Päivämäärä
LisätiedotLASKUTUSAINEISTON MUUTTAMINEN XML-MUOTOON
LASKUTUSAINEISTON MUUTTAMINEN XML-MUOTOON LAHDEN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Ohjelmistotekniikan suuntautumisvaihtoehto Opinnäytetyö Kevät 2006 Anu Pekurinen Lahden ammattikorkeakoulu
Lisätiedot12 Dokumenttiluokan toteuttamisesta
12 Dokumenttiluokan toteuttamisesta Tyypillisiä XML-sovellutuksia ovat esimerkiksi: - annettuun käyttötarkoitukseen räätälöity dokumenttityyppi (esim. painotalon ABC malli käsikirjoituksen rakenteelle)
LisätiedotXML ja SAS. Mitä tänä päivänä voidaan SASista tehdä XML-muotoon
XML ja SAS Mitä tänä päivänä voidaan SASista tehdä XML-muotoon Sisältö XML SAS ja XML: ODS:n käyttäminen xml-tulosteisiin Libname enginen käyttäminen XML tulosteisiin XML mapperi Libname enginen käyttäminen
LisätiedotLuento 3: Tietorakenteiden esittäminen
Luento 3: Tietorakenteiden esittäminen AS-0.110 XML-kuvauskielten perusteet Janne Kalliola Tietorakenteiden esittäminen XML-dokumentti puuna Muunnokset muodosta toiseen Perustietorakenteet listat puut
LisätiedotC++11 Syntaksi. Jari-Pekka Voutilainen Jari-Pekka Voutilainen: C++11 Syntaksi
1 C++11 Syntaksi Jari-Pekka Voutilainen 13.4.2012 2 Range-for Iteroi säiliön kaikki alkiot for-silmukassa. Säiliöltä vaaditaan begin- ja end-iteraattorit. Pätee kaikille C++11 STL-säiliöille, taulukoille,
LisätiedotTietojen toimittaminen Skeemat Viestit Kansallisen tulorekisterin perustamishanke
Versio 1.0 Tietojen toimittaminen Skeemat Viestit Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Viestit 2 (14) Versiohistoria Versio Päivämäärä Kuvaus 1.0 12.6.2017 Dokumentti
LisätiedotYleistä. Dokumentin mallintaminen. Dokumentin analysointi. Desktop publishing vs. XML. Tietokantakaavion analysointi. Dokumentin osien analysointi
Dokumentin mallintaminen Yleistä Dokumentin analysointi DTD:n suunnittelu Standardi DTD:t Esimerkki: uuden DTD:n laatiminen Muuta Yleistä DTD:t tärkeitä rakenne validointi DTD:n muutokset voivat johtaa
LisätiedotXML:n käyttötavat työeläkejärjestelmässä. Versio 2
XML:n käyttötavat työeläkejärjestelmässä 10.1.2005 XML-sanomastandardi 2(35) 1 Johdanto... 4 2 Standardi lyhyesti... 5 3 Skeemojen toteutuksesta... 6 3.1 Yleistä... 6 3.2 Kieli... 6 3.3 Merkistö... 6 3.4
LisätiedotVarmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke
Versio 1.0 Varmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke Varmennepalvelu Rajapintakuvaus 2 (13) Versiohistoria Versio Päivämäärä Kuvaus 1.0 Dokumentti julkaistu. Varmennepalvelu
Lisätiedot11 XML-entiteetit. <eg> Using HTML tag <FONT> is not recommended! </eg> <eg> Using HTML tag <FONT> is not recommended! </eg> XML-entiteetit
11 XML-entiteetit Entiteetit ovat tuttuja jo HTML-kielestä - entiteettien avulla dokumenttiin voidaan esim. liittää merkkijonoja, joille on annettu erisnimi Seuraava esimerkki liittää merkkidataan "
LisätiedotJohdatus rakenteisiin dokumentteihin
-RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista
Lisätiedot10 XML ja dokumenttien tyyppimäärittely
10 XML ja dokumenttien tyyppimäärittely XML tarjoaa perussyntaksin dokumenttien mielivaltaista merkkaamista varten Huomionarvoista: - merkkidatan ja merkkauksen koodauksen valinta (sama kaikille XMLdokumenteille)
LisätiedotTietueet. Tietueiden määrittely
Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään
LisätiedotTutkija Mikko Salmenperä. huone: sd109. TTY / Systeemitekniikan laitos. puh:
Tutkija Mikko Salmenperä huone: sd109 TTY / Systeemitekniikan laitos puh: 040-849 0061 email: mikko.salmenpera@tut.fi Joko kaikilla on aihe? Harjoitustyöt Pitäisikö järjestää välinäyttö & komentointi työn
LisätiedotXQuery tietokannan kyselykielenä
XQuery tietokannan kyselykielenä Miro Lehtonen 31.10.2007 OUGF-syysseminaari Tietojenkäsittelytieteen laitos Sisältö Johdanto XQueryn perusteet + esimerkkejä Oracle ja XQuery Miro Lehtonen, XQuery tietokannan
Lisätiedot13 Nimiavaruudet. kirjoitetaan muotoon (ja koodataan vähän lisätietoa) "huomataan heti", mitä kirjoittaja ajaa takaa ja tarkoittaa. Vai huomataanko?
13 Nimiavaruudet Huomautus: Otsikon voisi kuvaavammin kirjoittaa muodossa "structdoc:section". Syy selviää piakkoin Merkkauksen ideana on helpottaa tiedon ja metatiedon erottelua tarjoamalla dokumenteille
LisätiedotHohde Consulting 2004
Luento 5: XQuery AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XQuery XQuery uudet funktiot sekvenssit muuttujat Iterointi järjestys suodatus järjestäminen Ehtorakenteet Muita toimintoja www.hohde.com
Lisätiedot5 XML Query Language. Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista
5 XML Query Language Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista tietokantoina. Erityisesti, XML-skeema voi vaatia että tietty rakenne toimii (esiintymässä)
Lisätiedot5 Merkkaus: XML protokollana
5 Merkkaus: XML protokollana XML on siis ns. metakieli, joka käytännössä voidaan tulkita tavaksi merkitä ja tyypittää rakenteisia dokumentteja. Kuten tunnettua, se tarjoaa puitteet esim. XHTML-kielen määrittelylle
LisätiedotW3C-teknologiat ja yhteensopivuus
W3C-teknologiat ja yhteensopivuus Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: W3C asettaa
Lisätiedot5 XML Query Language. Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista
5 XML Query Language Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista tietokantoina. Erityisesti, XML-skeema voi vaatia että tietty rakenne toimii (esiintymässä)
LisätiedotTietojen jakelu Skeemat Viestit Kansallisen tulorekisterin perustamishanke
Versio 1.0 Tietojen jakelu Skeemat Viestit Kansallisen tulorekisterin perustamishanke Tietojen jakelu Skeemat Viestit 2 (20) Versiohistoria Versio Päivämäärä Kuvaus 1.0 12.6.2017 Dokumentti julkaistu.
LisätiedotTietojen jakelu Skeemat Viestit Kansallisen tulorekisterin perustamishanke
Versio 1.04 Tietojen jakelu Skeemat Viestit Kansallisen tulorekisterin perustamishanke Tietojen jakelu Skeemat Viestit 2 (21) Versiohistoria Versio Päivämäärä Kuvaus 1.0 12.6.2017 Dokumentti julkaistu.
LisätiedotTietojen jakelu Skeemat Palvelupyyntö Kansallisen tulorekisterin perustamishanke
Versio 1.0 Tietojen jakelu Skeemat Palvelupyyntö Kansallisen tulorekisterin perustamishanke Tietojen jakelu Skeemat Palvelupyyntö 2 (9) Versiohistoria Versio Päivämäärä Kuvaus 1.0 12.6.2017 Dokumentti
Lisätiedot