XML Schemas. (Primer) (Structures) (Datatypes)

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "XML Schemas. (Primer) (Structures) (Datatypes)"

Transcript

1 XML Schemas (Primer) (Structures) (Datatypes) Roger L. Costello Τεχνολογίες XML 1

2 Schema Validators Command Line Only XSV by Henry Thompson ftp://ftp.cogsci.ed.ac.uk/pub/xsv/xsv12.exe Programmatic API xerces by Apache IBM Schema Quality Checker (Note: this tool is only used to check your schema. It cannot be used to validate an instance document against a schema.) MSXML4.0 GUI Oriented XML Spy Turbo XML 2

3 Εισαγωγή 30 Στις επόµενες 3 διαφάνειες, θα γίνει µια πολύ γρήγορη και συνοπτική παρουσίαση των XML Schemas. Ο λόγος είναι για να γίνει κατανοητή η «συνολική εικόνα» πριν εξεταστούν οι λεπτοµέρειες κατασκευής XML Schemas 3

4 Τί είναι τα XML Schemas? Απάντηση: Ενα λεξιλόγιο σε XML για την έκφραση των κανόνων που διέπουν τα XML δεδοµένα 4

5 valid? Παράδειγµα <location> <latitude> </latitude> <longitude> </longitude> <uncertainty units="meters">2</uncertainty> </location> (data business rules): longitude, valid, location latitude, to to The longitude 4. latitude longitude latitude 6! " " Schemas XML. 1 ), - (. )1 ' 0 / &., - - ( ' ( % * + ( * ' $) ( ' $ & % # $

6 Validating τα δεδοµένα <location> <latitude> </latitude> <longitude> </longitude> <uncertainty units="meters">2</uncertainty> </location> XML Schema validator ok! latitude longitude XML Schema -90 and and lon lat 6

7 Κυρίως πιάτο! Τώρα που είδατε την εισαγωγή 30, ας περάσουµε στις λεπτοµέρειες! 7

8 Λόγος ύπαρξης των XML Καθορισµός: Schemas (και DTDs) της δοµής των XML εγγράφων «αυτό το element παεριέχει αυτά τα elements, που περιέχουν αυτά τα elements, κλπ» τον τύπο δεδοµένων κάθε element/attribute «Αυτό το element πρέπι να είναι ακέραιος µε τιµές από 0 εως 12,000» (Τα DTDs δεν τα καταφέρνουν τόσο καλά σε αυτό το ρόλο) 8

9 Κίνητρο για XML Schemas 9 DTDs. DTDs. 12,000» <elevation> «. 0!!. 10 DTD 44+ XML Schemas

10 Highlights των XML DTDs: Schemas XML Schemas 10! : «44+ # " $ 'd' " string ". ' & % ddd-dddd, : XML ) ( % * ' # * + ) ".,, + * child elements % * % + ' " elements " 10 + % "Book" element %., % (nil) % elements +. elements " + "Publication" element. *

11 Ας αρχίσουµε Μετατροπή του BookStore.dtd (επόµενη σελίδα) σε σύνταξη XML Schema Αρχικά θα κάνουµε µια απλή, 1-1 µετατροπή, δηλ., Title, Author, Date, ISBN, και Publisher θα περιέχουν strings, όπως και στο DTD Σταδιακά, θα µεταβάλλουµε το XML Schema να χρησιµοποιεί πιο δυνατούς τύπους δεδοµένων 11

12 BookStore.dtd <!ELEMENT BookStore (Book+)> <!ELEMENT Book (Title, Author, Date, ISBN, Publisher)> <!ELEMENT Title (#PCDATA)> <!ELEMENT Author (#PCDATA)> <!ELEMENT Date (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT Publisher (#PCDATA)> 12

13 BookStore Book Title Publisher Date ELEMENT ATTLIST #PCDATA ID NMTOKEN CDATA ENTITY Author ISBN 13 DTDs

14 (targetnamespace) complextype element BookStore sequence Author schema Book boolean Title string Publisher ISBN integer Date XML Schemas XML Schema DTDs Schemas (namespace). XML, 14 DTDs (namespace). (namespace)

15 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="bookstore"> <xsd:complextype> <xsd:element ref="book" minoccurs="1" maxoccurs="unbounded"/> </xsd:element> <xsd:element name="book"> <xsd:complextype> <xsd:element ref="title" minoccurs="1" maxoccurs="1"/> <xsd:element ref="author" minoccurs="1" maxoccurs="1"/> <xsd:element ref="date" minoccurs="1" maxoccurs="1"/> <xsd:element ref="isbn" minoccurs="1" maxoccurs="1"/> <xsd:element ref="publisher" minoccurs="1" maxoccurs="1"/> </xsd:element> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:schema> BookStore.xsd ( ) 15 xsd = Xml-Schema Definition

16 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="bookstore"> <xsd:complextype> <xsd:element ref="book" minoccurs="1" maxoccurs="unbounded"/> </xsd:element> <xsd:element name="book"> <xsd:complextype> <xsd:element ref="title" minoccurs="1" maxoccurs="1"/> <xsd:element ref="author" minoccurs="1" maxoccurs="1"/> <xsd:element ref="date" minoccurs="1" maxoccurs="1"/> <xsd:element ref="isbn" minoccurs="1" maxoccurs="1"/> <xsd:element ref="publisher" minoccurs="1" maxoccurs="1"/> </xsd:element> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:schema> <!ELEMENT BookStore (Book+)> <!ELEMENT Book (Title, Author, Date, ISBN, Publisher)> <!ELEMENT Title (#PCDATA)> <!ELEMENT Author (#PCDATA)> <!ELEMENT Date (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT Publisher (#PCDATA)> 16

17 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="bookstore"> <xsd:complextype> <xsd:element ref="book" minoccurs="1" maxoccurs="unbounded"/> </xsd:element> <xsd:element name="book"> <xsd:complextype> <xsd:element ref="title" minoccurs="1" maxoccurs="1"/> <xsd:element ref="author" minoccurs="1" maxoccurs="1"/> <xsd:element ref="date" minoccurs="1" maxoccurs="1"/> <xsd:element ref="isbn" minoccurs="1" maxoccurs="1"/> <xsd:element ref="publisher" minoccurs="1" maxoccurs="1"/> </xsd:element> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:schema> XML Schemas "schema" 17

18 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="bookstore"> <xsd:complextype> <xsd:element ref="book" minoccurs="1" maxoccurs="unbounded"/> </xsd:element> <xsd:element name="book"> <xsd:complextype> <xsd:element ref="title" minoccurs="1" maxoccurs="1"/> <xsd:element ref="author" minoccurs="1" maxoccurs="1"/> <xsd:element ref="date" minoccurs="1" maxoccurs="1"/> <xsd:element ref="isbn" minoccurs="1" maxoccurs="1"/> <xsd:element ref="publisher" minoccurs="1" maxoccurs="1"/> </xsd:element> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:schema> elements - schema - element - complextype - sequence - string 18 /XMLSchema namespace

19 XMLSchema Namespace element schema complextype sequence boolean string integer 19

20 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="bookstore"> <xsd:complextype> <xsd:element ref="book" minoccurs="1" maxoccurs="unbounded"/> </xsd:element> <xsd:element name="book"> <xsd:complextype> <xsd:element ref="title" minoccurs="1" maxoccurs="1"/> <xsd:element ref="author" minoccurs="1" maxoccurs="1"/> <xsd:element ref="date" minoccurs="1" maxoccurs="1"/> <xsd:element ref="isbn" minoccurs="1" maxoccurs="1"/> <xsd:element ref="publisher" minoccurs="1" maxoccurs="1"/> </xsd:element> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:schema> elements schema - BookStore - Book - Title - Author - Date - ISBN - Publisher namespace 20

21 Book Namespace (targetnamespace) (targetnamespace) BookStore Author Book Title Publisher ISBN Date 21

22 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="bookstore"> <xsd:complextype> <xsd:element ref="book" minoccurs="1" maxoccurs="unbounded"/> </xsd:element> <xsd:element name="book"> <xsd:complextype> <xsd:element ref="title" minoccurs="1" maxoccurs="1"/> <xsd:element ref="author" minoccurs="1" maxoccurs="1"/> <xsd:element ref="date" minoccurs="1" maxoccurs="1"/> <xsd:element ref="isbn" minoccurs="1" maxoccurs="1"/> <xsd:element ref="publisher" minoccurs="1" maxoccurs="1"/> </xsd:element> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:schema> default namespace Book element declaration. Book namespace? namespace qualifier, Book element default namespace,. targetnamespace!, Book element declaration schema. targetnamespace! 22

23 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="bookstore"> <xsd:complextype> <xsd:element ref="book" minoccurs="1" maxoccurs="unbounded"/> </xsd:element> <xsd:element name="book"> <xsd:complextype> <xsd:element ref="title" minoccurs="1" maxoccurs="1"/> <xsd:element ref="author" minoccurs="1" maxoccurs="1"/> <xsd:element ref="date" minoccurs="1" maxoccurs="1"/> <xsd:element ref="isbn" minoccurs="1" maxoccurs="1"/> <xsd:element ref="publisher" minoccurs="1" maxoccurs="1"/> </xsd:element> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:schema> instance documents 23 schema: elements instance document, schema namespace qualified.

24 Αναφέροντας ένα schema σε ένα XML έγγραφο <?xml version="1.0"?> <BookStore xmlns =" 1 xmlns:xsi=" xsi:schemalocation=" BookStore.xsd"> 2 <Book> <Title>My Life and Times</Title> <Author>Paul McCartney</Author> <Date>July, 1998</Date> <ISBN> </ISBN> <Publisher>McMillin Publishing</Publisher> </Book>... </BookStore> 1. elements, default namespace, schema-validator namespace. 3 2., namespace schemalocation BookStore.xsd ( schema-validator., schemalocation ). 3., schema-validator schemalocation attribute XMLSchema-instance namespace. 24

25 XMLSchema-instance Namespace schemalocation type nonamespaceschemalocation nil 25

26 Αναφέροντας ένα schema σε ένα XML έγγραφο schemalocation=" BookStore.xsd" targetnamespace=" BookStore.xml - elements namespace BookStore.xsd - namespace elements schema. Instance documents 26

27 Πολλαπλά επίπεδα ελέγχου BookStore.xml BookStore.xsd XMLSchema.xsd (schema-for-schemas) Validate xml BookStore.xsd Validate schema BookStore.xsd,., schema-for-schemas valid 27

28 Default τιµή για minoccurs και maxoccurs Η default τιµή για minoccurs είναι "1" Η default τιµή για maxoccurs είναι "1" <xsd:element ref="title" minoccurs="1" maxoccurs="1"/>! <xsd:element ref="title"/> 28

29 Qualify XMLSchema, Default targetnamespace elements targetnamespace, XML Schema namespace. default namespace. (explicitly qualified) (targetnamespace) complextype element sequence schema boolean string integer BookStore Author Book Title Publisher ISBN Date 29

30 Default XMLSchema, Qualify targetnamespace ), XMLSchema ( default namespace. schema (targetnamespace) complextype element sequence schema boolean string integer BookStore Author Book Title Publisher ISBN Date 30

31 <?xml version="1.0"?> <schema xmlns=" targetnamespace=" xmlns:bk=" elementformdefault="qualified"> <element name="bookstore"> <complextype> <sequence> <element ref="bk:book" maxoccurs="unbounded"/> </sequence> </complextype> </element> <element name="book"> <complextype> <sequence> <element ref="bk:title"/> <element ref="bk:author"/> <element ref="bk:date"/> <element ref="bk:isbn"/> <element ref="bk:publisher"/> </sequence> </complextype> </element> <element name="title" type="string"/> <element name="author" type="string"/> <element name="date" type="string"/> <element name="isbn" type="string"/> <element name="publisher" type="string"/> </schema> (see example02) /XMLSchema default namespace., namespace qualifiers - schema - element - complextype - sequence - string 31

32 <?xml version="1.0"?> <schema xmlns=" targetnamespace=" xmlns:bk=" elementformdefault="qualified"> <element name="bookstore"> <complextype> <sequence> <element ref="bk:book" minoccurs="1" maxoccurs="unbounded"/> </sequence> </complextype> </element> <element name="book"> <complextype> <sequence> <element ref="bk:title"/> <element ref="bk:author"/> <element ref="bk:date"/> <element ref="bk:isbn"/> <element ref="bk:publisher"/> </sequence> </complextype> </element> <element name="title" type="string"/> <element name="author" type="string"/> <element name="date" type="string"/> <element name="isbn" type="string"/> <element name="publisher" type="string"/> </schema> 32 Book element. Book element? namespace? bk: namespace element. bk: targetnamespace.

33 "bk:" Αναφέρει το targetnamespace (targetnamespace) complextype element sequence schema boolean string integer bk BookStore Author Book Title Publisher ISBN Date,, bk:book Book element targetnamespace. 33

34 Inlining δηλώσεις Elements Στα προηγούµενα παραδείγµατα δηλώναµε ένα element και µετά αναφερόµαστε σ αυτή τη δήλωση. Εναλακτικά, µπορούµε να έχουµε inline δηλώσεις elements Στην επόµενη διαφάνεια υπάρχει ένας εναλακτικός (όµοιος) τρόπος αναπαράστασης του schema που είδαµε πριν, χρησιµοποιώντας inlined element δηλώσεις 34

35 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="bookstore"> <xsd:complextype> <xsd:element name="book" maxoccurs="unbounded"> <xsd:complextype> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:element> </xsd:element> </xsd:schema> inline, elements. schema! schema - by inlining everything Russian Doll. 35

36 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="bookstore"> <xsd:complextype> <xsd:element name="book" maxoccurs="unbounded"> <xsd:complextype> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:element> </xsd:element> </xsd:schema> (example03) 36

37 Επώνυµοι τύποι Η επόµενη διαφάνεια δείχνει ένα εναλακτικό (όµοιο) schema που χρησιµοποιεί ένα επώνυµο complextype 37

38 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="bookstore"> <xsd:complextype> <xsd:element name="book" type="bookpublication" maxoccurs="unbounded"/> </xsd:element> <xsd:complextype name="bookpublication"> Named type <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:schema> (example04) elements 38

39 '$(: - & ) 1 /. '. % ( <xsd:element name="a" type="foo"/> <xsd:complextype name="foo"> <xsd:element name="b" /> <xsd:element name="c" /> Element A complextype foo. + -.$ & *($ &: * ( <xsd:element name="a"> <xsd:complextype> <xsd:element name="b" /> <xsd:element name="c" /> </xsd:element> Element A inlined element complextype 39

40 type Attribute ή complextype Child Element, αλλά όχι και τα 2! Μια δήλωση ενός element µπορεί να έχει το attribute type, ή ένα complextype child element, αλλά δεν µπορεί να έχει και τα δυο. <xsd:element name="a" type="foo"> <xsd:complextype> </xsd:element> 40

41 Ανακεφαλαίωση δήλωσης Elements (2 τρόποι) 1 <xsd:element name="name" type="type" minoccurs="int" maxoccurs="int"/> (., xsd:string) complextype (.. BookPublication) : minoccurs "unbounded" elements maxoccurs (local) 2 <xsd:element name="name" minoccurs="int" maxoccurs="int"> <xsd:complextype> </xsd:element> 41

42 Built-in τύποι δεδοµένων Primitive Datatypes string boolean decimal float double duration datetime time date gyearmonth gyear gmonthday Atomic, built-in "Hello World" {true, false, 1, 0} E3, 12, 12560, 0, -0, INF, -INF, NAN 12.56E3, 12, 12560, 0, -0, INF, -INF, NAN P1Y2M3DT10H30M12.3S format: CCYY-MM-DDThh:mm:ss format: hh:mm:ss.sss format: CCYY-MM-DD format: CCYY-MM format: CCYY format: --MM-DD : 'T' INF = infinity NAN = not-a-number date/time 42

43 Built-in τύποι δεδοµένων (συν.) Primitive Datatypes gday gmonth hexbinary base64binary anyuri QName NOTATION Atomic, built-in format: ---DD (note the 3 dashes) format: --MM-- a hex string a base64 string a namespace qualified name a NOTATION from the XML spec 43

44 Built-in τύποι δεδοµένων (συν.) Derived types normalizedstring token language IDREFS ENTITIES NMTOKEN NMTOKENS Name NCName ID IDREF ENTITY integer nonpositiveinteger Subtype of primitive datatype A string without tabs, line feeds, or carriage returns String w/o tabs, l/f, leading/trailing spaces, consecutive spaces any valid xml:lang value, e.g., EN, FR,... must be used only with attributes must be used only with attributes must be used only with attributes must be used only with attributes part (no namespace qualifier) must be used only with attributes must be used only with attributes must be used only with attributes 456 negative infinity to 0 44

45 Built-in τύποι δεδοµένων (συν.) Derived types negativeinteger long int short byte nonnegativeinteger unsignedlong unsignedint unsignedshort unsignedbyte positiveinteger Subtype of primitive datatype negative infinity to to to to to to infinity 0 to to to to to infinity : attributes (which we will discuss later): ID, IDREF, IDREFS, NMTOKEN, NMTOKENS, ENTITY, and ENTITIES. 45

46 ηµιουργώντας νέους τύπους Ενας νέος τύπος δεδοµένων ορίζεται από έναν υπάρχων (ονοµαζόµενος "base" type) ορίζοντας τιµές για ένα ή περισσότερα από τα facets του base type Παράδειγµα. Ο τύπος string έχει 6 προαιρετικά facets: length minlength maxlength pattern enumeration whitespace ( : preserve, replace, collapse) 46

47 Παράδειγµα δηµιουργίας νέου τύπου ορίζοντας τιµές στα Facets <xsd:simpletype name="telephonenumber"> <xsd:restriction base="xsd:string"> 2 <xsd:length value="8"/> 3 4 <xsd:pattern value="\d{3}-\d{4}"/> </xsd:restriction> </xsd:simpletype> Elements string string 'TelephoneNumber'. string,! 8! : ddd-dddd, 'd' 'digit'. 47

48 Facets για integer τύπο δεδοµένων Ο τύπος δεδοµένων integer έχει 8 προαιρετικά facets: totaldigits pattern whitespace enumeration maxinclusive maxexclusive mininclusive minexclusive 48

49 Παράδειγµα <xsd:simpletype name= "EarthSurfaceElevation"> <xsd:restriction base="xsd:integer"> <xsd:mininclusive value="-1290"/> <xsd:maxinclusive value="29035"/> </xsd:restriction> </xsd:simpletype> 49

50 Γενική φόρµα δηµιουργίας νέου τύπου δεδοµένων ορίζοντας τιµές στα Facets <xsd:simpletype name= "name"> <xsd:restriction base= "xsd:source"> <xsd:facet value= "value"/> <xsd:facet value= "value"/> </xsd:restriction> </xsd:simpletype> Facets: - length - minlength - maxlength - pattern - enumeration - mininclusive - maxinclusive - minexclusive - maxexclusive... Sources: - string - boolean - number - float - double - duration - datetime - time... 50

51 Πολλαπλά Facets Ενώνοντας τα µε "and", ή "or"? <xsd:simpletype name="telephonenumber"> <xsd:restriction base="xsd:string"> <xsd:length value="8"/> <xsd:pattern value="\d{3}-\d{4}"/> </xsd:restriction> </xsd:simpletype> element 4 digits. string TelephoneNumber length=8 string : 3 digits,, <xsd:simpletype name="shape"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="circle"/> <xsd:enumeration value="triangle"/> <xsd:enumeration value="square"/> </xsd:restriction> </xsd:simpletype> element triangle, square. string shape circle, Patterns, enumerations => "or" them together All other facets => "and" them together 51

52 Element που περιέχει ένα User- Defined Simple Type : <elevation>5240</elevation> elevation element: <xsd:simpletype name="earthsurfaceelevation"> <xsd:restriction base="xsd:integer"> <xsd:mininclusive value="-1290"/> <xsd:maxinclusive value="29035"/> </xsd:restriction> </xsd:simpletype> <xsd:element name="elevation" type="earthsurfaceelevation"/> 52

53 Element που περιέχει ένα User- Defined Simple Type (συν) elevation: <xsd:element name="elevation"> <xsd:simpletype> <xsd:restriction base="xsd:integer"> <xsd:mininclusive value="-1290"/> <xsd:maxinclusive value="29035"/> </xsd:restriction> </xsd:simpletype> </xsd:element> inline, simpletype. simpletype elements. 53

54 Ανακεφαλαίωση δήλωσης Elements (3 τρόποι) 1 <xsd:element name="name" type="type" minoccurs="int" maxoccurs="int"/> 2 <xsd:element name="name" minoccurs="int" maxoccurs="int"> <xsd:complextype> </xsd:element> 3 <xsd:element name="name" minoccurs="int" maxoccurs="int"> <xsd:simpletype> <xsd:restriction base="type"> </xsd:restriction> </xsd:simpletype> </xsd:element> 54

55 Γλυτώνοντας $$$ χρησιµοποιώντας XML Schemas ) (!" 60% «55, - source unknown

56 Γλυτώνοντας $$$ χρησιµοποιώντας XML Schemas (συν) schema, XML, ) ( schema validator. 60%!!! $$! 56

57 Regular Expressions Ο τύπος δεδοµένων string έχει ένα facet µε το όνοµα pattern. Η τιµή του pattern είνια µια κανονική έκφραση -regular expression. Παρακάτω παρατίθενται παραδείγµατα: Regular Expression - Chapter \d - Chapter \d - a*b - [xyz]b - a?b - a+b - [a-c]x Παράδειγµα - Chapter 1 - Chapter 1 - b, ab, aab, aaab, - xb, yb, zb - b, ab - ab, aab, aaab, - ax, bx, cx 57

58 Regular Expressions (συν.) Regular Expression [a-c]x [-ac]x [ac-]x [^0-9]x \Dx Chapter\s\d (ho){2} there (ho\s){2} there.abc (a b)+x Example ax, bx, cx -x, ax, cx ax, cx, -x any non-digit char followed by x any non-digit char followed by x Chapter followed by a blank followed by a digit hoho there ho ho there any (one) char followed by abc ax, bx, aax, bbx, abx, bax,... 58

59 Regular Expressions (συν.) a{1,3}x a{2,}x \w\s\w ax, aax, aaax aax, aaax, aaaax, word character (alphanumeric plus dash) followed by a space followed by a word character [a-za-z-[ol]]* A string comprised of any lower and upper case letters, except "O" \. and The "l" period "." (Without the backward slash the period 59 means "any character")

60 Regular Expressions (συν.) \n \r \t \\ \ \- \^ \? \* \+ \{ \} \( \) \[ \] linefeed carriage return tab The backward slash \ The vertical bar The hyphen - The caret ^ The question mark? The asterisk * The plus sign + The open curly brace { The close curly brace } The open paren ( The close paren ) The open square bracket [ The close square bracket ] 60

61 Παράδειγµα R.E. [1-9]?[0-9] 1[0-9][0-9] 2[0-4][0-9] 25[0-5] 0 to to to to 255 Η παραπάνω regular expression περιορίζει ένα string Να έχει τιµές από 0 ως 255. χρήσιµη για περιγραφή IP address... 61

62 Derived Types Μπορούµε να επιτύχουµε subclassing complextype ορισµών. Αυτό ονοµάζεται "derived types" derive by extension: επέκταση του complextype µε περισσότερα elements derive by restriction: δηµιουργία ενός τύπου που είναι υποσύνολο του base type. 2 τρόποι: base type element, base type element. 62

63 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:complextype name="publication"> <xsd:element name="title" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="author" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="date" type="xsd:gyear"/> <xsd:complextype name="bookpublication"> <xsd:complexcontent> <xsd:extension base="publication" > <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:extension> </xsd:complexcontent> <xsd:element name="bookstore"> <xsd:complextype> <xsd:element name="book" type="bookpublication" maxoccurs="unbounded"/> </xsd:element> </xsd:schema> (see example06) BookPublication Publication 63 : Derive by Extension

64 <xsd:complextype name="publication"> <xsd:element name="title" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="author" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="date" type="xsd:gyear"/> </xsd:complextype > <xsd:complextype name="bookpublication"> <xsd:complexcontent> <xsd:extension base="publication"> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:extension> </xsd:complexcontent> </xsd:complextype > Elements Publisher. elements BookPublication derived type 5 child elements - Title, Author, Date, ISBN, elements base type. 64

65 ISBN Title Date Author Publication Publisher BookPublication 65

66 Title Author Date Publication «" BookPublication ISBN Publisher 66

67 Derive by Restriction Elements <xsd:complextype name="publication"> <xsd:element name="title" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="author" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="date" type="xsd:gyear"/> <xsd:complextype name= "SingleAuthorPublication"> <xsd:complexcontent> <xsd:restriction base="publication"> <xsd:element name="title" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:gyear"/> </xsd:restriction> </xsd:complexcontent> base type SingleAuthorPublication Author element. restriction element minoccurs="0" 3 child elements - Title, Author, subtype base type ( - ). Date. 67

68 ιαγράφοντας ένα element του base type <xsd:complextype name="publication"> <xsd:element name="title" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="author" type="xsd:string" minoccurs="0"/> <xsd:element name="date" type="xsd:gyear"/> <xsd:complextype name= "ZeroAuthorPublication"> <xsd:complexcontent> <xsd:restriction base="publication"> <xsd:element name="title" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="date" type="xsd:gyear"/> </xsd:restriction> </xsd:complexcontent> 68

69 Ορολογία: ήλωση vs Ορισµός Σε ένα schema: attributes. elements Schema instance XML document. schema. Schema XML instance document. : : - element declarations - attribute declarations 69 - type (simple, complex) definitions - attribute group definitions - model group definitions

70 Ορολογία: Global vs Local Global δηλώσεις element, global ορισµοί τύπων: Είναι δηλώσεις element/ ορισµοί τύπων που είναι άµεσα παιδιά του <schema> Local δηλώσεις element, local ορισµοί τύπων : Είναι δηλώσεις element/ ορισµοί τύπων που ενθυλακώνονται µέσα σε άλλα elements/ τύπους. 70

71 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:complextype name="publication"> <xsd:element name="title" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="author" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="date" type="xsd:gyear"/> <xsd:complextype name="bookpublication"> <xsd:complexcontent> <xsd:extension base="publication" > <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:extension> </xsd:complexcontent> <xsd:element name="bookstore"> <xsd:complextype> <xsd:element name="book" type="bookpublication" maxoccurs="unbounded"/> </xsd:element> </xsd:schema> Global type definition Global type definition Global element declaration Local type definition Local element declarations 71

72 Global vs Local και τι έγινε? Και τί έγινε αν ένα element ή τύπος είναι global ή local. Πρακτικά, τί σηµαίνει? Απάντηση: µόνο global elements/τύποι µπορούν να αναφερθούν (δηλ., επαναχρησιµοποιηθούν). Ετσι, αν ένα element/τύπος είναι local τότε είναι ουσιαστικά αόρατο στο υπόλοιπο schema (και σε άλλα schemas). 72

73 Attributes Ας δούµε µια έκδοση του BookStore DTD µε attributes. Μετά, θα δούµε πώς µεταφράζεται σε XML Schemas. 73

74 <!ELEMENT BookStore (Book+)> <!ELEMENT Book (Title, Author, Date, ISBN, Publisher)> <!ATTLIST Book Category (autobiography non-fiction fiction) #REQUIRED InStock (true false) "false" Reviewer CDATA " "> <!ELEMENT Title (#PCDATA)> <!ELEMENT Author (#PCDATA)> <!ELEMENT Date (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT Publisher (#PCDATA)> BookStore.dtd 74

75 <xsd:element name="bookstore"> <xsd:complextype> <xsd:element name="book" maxoccurs="unbounded"> <xsd:complextype> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> <xsd:attributegroup ref="bookattributes"/> </xsd:element> </xsd:element> <xsd:attributegroup name="bookattributes"> <xsd:attribute name="category" use="required"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="autobiography"/> <xsd:enumeration value="non-fiction"/> <xsd:enumeration value="fiction"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> <xsd:attribute name="instock" type="xsd:boolean" default="false"/> <xsd:attribute name="reviewer" type="xsd:string" default=" "/> </xsd:attributegroup> (see example07) Category (autobiography non-fiction fiction) #REQUIRED InStock (true false) "false" Reviewer CDATA " " 75

76 <xsd:attribute name="category" use="required"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="autobiography"/> <xsd:enumeration value="non-fiction"/> <xsd:enumeration value="fiction"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> "Instance documents ( autobiography, enumeration facets)." non-fiction, "required"). fiction ( Category attribute Category : attributes child elements). simpletypes (., attributes 76

77 Ανακεφαλαίωση δήλωσης Attributes (2 τρόποι) 1 <xsd:attribute name="name" type="simple-type" use="how-its-used" default/fixed="value"/> xsd:string xsd:integer xsd:boolean... required optional prohibited "use" attribute optional default fixed. 2 <xsd:attribute name="name" use="how-its-used" default/fixed="value"> <xsd:simpletype> <xsd:restriction base="simple-type"> <xsd:facet value="value"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> 77

78 use --> χρησιµοποίησηέ το µόνο σε δηλώσεις Local Attributes Το "use" attribute έχει νόηµα µόνο σε µια δήλωση element. Για παράδειγµα: "for each Book element, the Category attribute is required". Οταν δηλώνεις ένα global attribute µη χρησιµοποιείς το "use" 78

79 <xsd:element name="book"> <xsd:complextype> <xsd:attribute ref="category" use="required"/> </xsd:element> <xsd:attribute name="category"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="autobiography"/> <xsd:enumeration value="fiction"/> <xsd:enumeration value="non-fiction"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> Local attribute "use" attribute. Global attribute. "use" attribute. 79

80 Inlining Attributes Στην επόµενη διαφάνεια δείχνεται άλλος ένας τρόπος δήλωσης attribute - Τα attributes are inlined µέσα στη δήλωση του Book. 80

81 <xsd:element name="book" maxoccurs="unbounded"> <xsd:complextype> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> <xsd:attribute name="category" use="required"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="autobiography"/> <xsd:enumeration value="non-fiction"/> <xsd:enumeration value="fiction"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> <xsd:attribute name="instock" type="xsd:boolean" default="false"/> <xsd:attribute name="reviewer" type="xsd:string" default=" "/> </xsd:element> (see example08) 81

82 Σηµειώσεις για Attributes Οι δηλώσεις των attributes γίνονται στο τέλος, µετά τις δηλώσεις των elements. Τα attributes είναι πάντα σχετικά µε το element στο οποίο ορίζονται (nested). "bar attributes boo foo" <xsd:element name="foo"> <xsd:complextype> <xsd:attribute name="bar" /> <xsd:attribute name="boo" /> </xsd:element> 82

83 attributes element (Book), Book 3 attributes - Category, InStock, Reviewer. <xsd:element name="book"> <xsd:complextype> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> <xsd:attribute name="category" use="required"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="autobiography"/> <xsd:enumeration value="non-fiction"/> <xsd:enumeration value="fiction"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> <xsd:attribute name="instock" type="xsd:boolean" default="false"/> <xsd:attribute name="reviewer" type="xsd:string" default=" "/> </xsd:element> 83

84 Element µε απλό περιεχόµενο και Attributes. 84 : <elevation units="feet">5440</elevation> : 2 (integer) 1 attribute, units elevation element - - elevation?

85 <xsd:element name="elevation"> <xsd:complextype> 1 <xsd:simplecontent> 2 <xsd:extension base="xsd:integer"> 3 <xsd:attribute name="units" type="xsd:string" use="required"/> </xsd:extension> </xsd:simplecontent> </xsd:element> elevation,, attribute. elevation <complextype>). simplecontent (integer)... attribute. <xsd:complextype> child elements (, elevation simplecontent. 85

86 Ανακεφαλαίωση δήλωσης Elements 1. Element - Simple Content. element built-in : <xsd:element name="numstudents" type="xsd:positiveinteger"/> element user-defined simpletype: <xsd:simpletype name="shapes"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="triangle"/> <xsd:enumeration value="rectangle"/> <xsd:enumeration value="square"/> </xsd:restriction> </xsd:simpletype> <xsd:element name="geometry" type="shapes"/>, inline simpletype : <xsd:element name="geometry"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="triangle"/> <xsd:enumeration value="rectangle"/> <xsd:enumeration value="square"/> </xsd:restriction> </xsd:simpletype> </xsd:element> 86

87 Ανακεφαλαίωση δήλωσης Elements 2. Element Child Elements child elements inline: <xsd:element name="person"> <xsd:complextype> <xsd:element name="title" type="xsd:string"/> <xsd:element name="firstname" type="xsd:string"/> <xsd:element name="surname" type="xsd:string"/> </xsd:element>, named complextype : <xsd:complextype name="persontype"> <xsd:element name="title" type="xsd:string"/> <xsd:element name="firstname" type="xsd:string"/> <xsd:element name="surname" type="xsd:string"/> <xsd:element name="person" type="persontype"/> 87

88 Ανακεφαλαίωση δήλωσης Elements 3. Element complextype complextype <xsd:complextype name="publication"> <xsd:element name="title" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="author" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="date" type="xsd:gyear"/> <xsd:complextype name="bookpublication"> <xsd:complexcontent> <xsd:extension base="publication" > <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:extension> </xsd:complexcontent> <xsd:element name="book" type="bookpublication"/> 88

89 Ανακεφαλαίωση δήλωσης Elements 4. Element complextype complextype <xsd:complextype name="publication"> <xsd:element name="title" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="author" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="date" type="xsd:gyear"/> <xsd:complextype name= "SingleAuthorPublication"> <xsd:complexcontent> <xsd:restriction base="publication"> <xsd:element name="title" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:gyear"/> </xsd:restriction> </xsd:complexcontent> <xsd:element name="catalogue" type="singleauthorpublication"/> 89

90 Ανακεφαλαίωση δήλωσης Elements 5. Element - Simple Content Attributes <xsd:element name="apple"> <xsd:complextype> <xsd:simplecontent> <xsd:extension base="xsd:string"> <xsd:attribute name="variety" type="xsd:string" use="required"/> </xsd:extension> </xsd:simplecontent> </xsd:element>. <apple variety="cortland">large, green, sour</apple> 90

91 complexcontent vs simplecontent Με complexcontent επεκτείνεις ή περιορίζεις complextype Με simplecontent επεκτείνεις ή περιορίζεις simpletype <xsd:complextype name=" "> <xsd:complexcontent> <extension base="x"> </extension> </xsd:complexcontent> vs <xsd:complextype name=" "> <xsd:simplecontent> <extension base="y"> </extension> </xsd:simplecontent> X complextype Y simpletype 91

92 group Element Το group element δίνει τη δυνατότητα οµαδοποίησης δηλώσεων elements. Σηµ: Το group element δεν επιτρέπει την οµαδοποίηση δηλώσεων attributes! 92

93 <xsd:element name="book" > <xsd:complextype> <xsd:group ref="publicationelements"/> <xsd:element name="isbn" type="string"/> <xsd:element name="reviewer" type="string"/> </xsd:element> <xsd:element name="cd" > <xsd:complextype> <xsd:group ref="publicationelements"/> <xsd:element name="recordingstudio" type="string"/> </xsd:element> <xsd:group name="publicationelements"> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string" maxoccurs="unbounded"/> <xsd:element name="date" type="xsd:string"/> </xsd:group> <group> element 93

94 Σηµειώσεις για το group Οι ορισµοί Group πρέπει να είναι global <xsd:element name="book"> <xsd:complextype> <xsd:group name="publicationelements"> <xsd:element name="title" type="xsd:string" minoccurs="0"/> <xsd:element name="author" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> <xsd:element name="date" type="xsd:string"/> </xsd:group> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/>... </xsd:element> inline group. ref globally. group 94

95 Εκφράζοντας επιλογές DTD: <!ELEMENT transportation (train plane automobile)> XML Schema: <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="transportation"> <xsd:complextype> <xsd:choice> <xsd:element name="train" type="xsd:string"/> <xsd:element name="plane" type="xsd:string"/> <xsd:element name="automobile" type="xsd:string"/> </xsd:choice> </xsd:element> </xsd:schema> (see example10) : choise exclusive-or,, transportation automobile. plane, element - train, 95

96 Εκφράζοντας επαναλαµβανόµενες επιλογές DTD: <!ELEMENT binary-string (zero one)*> XML Schema: <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="binary-string"> <xsd:complextype> <xsd:choice minoccurs="0" maxoccurs="unbounded"> <xsd:element name="zero" type="xsd:unsignedbyte" fixed="0"/> <xsd:element name="one" type="xsd:unsignedbyte" fixed="1"/> </xsd:choice> </xsd:element> </xsd:schema> (see example 11) 1. : element - fix, fixed attribute. 96

97 fixed/default τιµές Element Οταν δηλώνεις ένα element, µπορείς να του δώσεις µια fixed ή default τιµή. Τότε, στο instance document, µπορείς να αφήσεις το element άδειο. <element name="zero" fixed="0"/> <zero>0</zero> <element name="color" default="red"/> <color>red</color> : : <zero/> <color/> 97

98 Χρησιµοποιώντας <sequence> και <choice> DTD: <!ELEMENT life ((work, eat)*, (work play), sleep)* > XML Schema: <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="life"> <xsd:complextype> <xsd:sequence minoccurs="0" maxoccurs="unbounded"> <xsd:sequence minoccurs="0" maxoccurs="unbounded"> <xsd:element name="work" type="xsd:string"/> <xsd:element name="eat" type="xsd:string"/> </xsd: sequence> <xsd:choice> <xsd:element name="work" type="xsd:string"/> <xsd:element name="play" type="xsd:string"/> </xsd:choice> <xsd:element name="sleep" type="xsd:string"/> </xsd:element> </xsd:schema> 98

99 Εκφράζοντας οποιαδήποτε σειρά : εµφάνισης - Any Order any order ( element Book, : Author, Title, Date, ISBN, DTDs). Publisher, XML Schema: <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="bookstore"> <xsd:complextype> <xsd:element name="book" maxoccurs="unbounded"> <xsd:complextype> <xsd:all> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:all> </xsd:element> </xsd:element> (see example 12) <all> Book child elements, 99.

100 Περιορισµοί χρήσης του <all> Elements δηλωµένα µέσα σε <all> πρέπει να έχουν τιµή maxoccurs ίση µε "1" (minoccurs µπορεί να είναι "0" ή "1") Αν ένας complextype χρησιµοποιεί <all> και επεκτείνει κάποιον άλλο τύπο, τότε ο τύπος πατέρας πρέπει να έχει άδειο πριεχόµενο. Το <all> δεν µπορεί να ενθυλακωθεί σε <sequence>, <choice>, ή άλλο <all> Τα περιεχόµενα του <all> πρέπει να είναι απλά elements. εν µπορεί να πειέχει <sequence> ή <choice> 100

101 Empty Element DTD: <!ELEMENT image EMPTY> <!ATTLIST image href CDATA #REQUIRED> Schema: <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:element name="gallery"> <xsd:complextype> <xsd:element name="image" maxoccurs="unbounded"> <xsd:complextype> <xsd:attribute name="href" type="xsd:anyuri" use="required"/> </xsd:element> </xsd:element> </xsd:schema> (see example 13) Instance doc (snippet): <image href=" Do Lab

102 No targetnamespace (nonamespaceschemalocation) schema elements namespace. attribute targetnamespace attribute namespace,, attribute. targetnamespace <schema>. schema namespace elements. 102 nonamespaceschemalocation. 1. instance document 2. instance document, schemalocation

103 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" elementformdefault="qualified"> <xsd:element name="bookstore"> <xsd:complextype> <xsd:element ref="book" minoccurs="0" maxoccurs="unbounded"/> </xsd:element> <xsd:element name="book"> <xsd:complextype> <xsd:element ref="title"/> <xsd:element ref="author"/> <xsd:element ref="date"/> <xsd:element ref="isbn"/> <xsd:element ref="publisher"/> </xsd:element> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="isbn" type="xsd:string"/> <xsd:element name="publisher" type="xsd:string"/> </xsd:schema> (see example14) targetnamespace attribute, default namespace. 103

104 <?xml version="1.0"?> <BookStore xmlns:xsi=" xsi:nonamespaceschemalocation= "BookStore.xsd"> <Book> <Title>My Life and Times</Title> <Author>Paul McCartney</Author> <Date>1998</Date> <ISBN> </ISBN> <Publisher>McMillin Publishing</Publisher> </Book> </BookStore> (see example14) default namespace. xsi:schemalocation.,, elements namespace. xsi:nonamespaceschemalocation 104

105 ηµιουργώντας λίστες Μερικές φορές θέλουµε ένα element να περιέχει λίστα τιµών, π.χ., «Το περιεχόµενο του Numbers element είναι µια λίστα αριθµών». : 105 :, <Numbers> </Numbers>... Numbers element integers, integer 99, 1 6. (1) (2) (3)

106 <?xml version="1.0"?> <LotteryDrawings xmlns=" xmlns:xsi=" xsi:schemalocation= " Lottery.xsd"> <Drawing> <Week>July 1</Week> <Numbers> </Numbers> </Drawing> <Drawing> <Week>July 8</Week> <Numbers> </Numbers> </Drawing> <Drawing> <Week>July 15</Week> <Numbers> </Numbers> </Drawing> </LotteryDrawings> Lottery.xml (see example19) 106

107 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:simpletype name="lotterynumbers"> <xsd:list itemtype="xsd:positiveinteger"/> </xsd:simpletype> <xsd:element name="lotterydrawings"> <xsd:complextype> <xsd:element name="drawing" minoccurs="0" maxoccurs="unbounded"> <xsd:complextype> <xsd:element name="week" type="xsd:string"/> <xsd:element name="numbers" type="lotterynumbers"/> </xsd:element> </xsd:element> </xsd:schema> Lottery.xsd 107

108 LotteryNumbers --> Need Stronger Datatyping Η λίστα στο προηγούµενο schema είχε 2 προβήµατα: Επέτρεπε στα <Numbers> να περιέχουν αυθαίρετα µεγάλη λίστα Οι αριθµοί στη λίστα µπορεί να είναι οποιοσδήποτε positiveinteger Πρέπει να: Να περιορίσουµε το µήκος της λίστας σε τιµή="6" Να περιορίσουµε τα Numbers σε maxinclusive τιµή="99" 108

109 <?xml version="1.0"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"> <xsd:simpletype name="onetoninetynine"> <xsd:restriction base="xsd:positiveinteger"> <xsd:maxinclusive value="99"/> </xsd:restriction> </xsd:simpletype> <xsd:simpletype name="numberslist"> <xsd:list itemtype="onetoninetynine"/> </xsd:simpletype> <xsd:simpletype name="lotterynumbers"> <xsd:restriction base="numberslist"> <xsd:length value="6"/> </xsd:restriction> </xsd:simpletype> <xsd:element name="lotterydrawings"> <xsd:complextype> <xsd:element name="drawing" minoccurs="0" maxoccurs="unbounded"> <xsd:complextype> <xsd:element name="week" type="xsd:string"/> <xsd:element name="numbers" type="lotterynumbers"/> </xsd:element> </xsd:element> </xsd:schema> Lottery.xsd (see example19) 109

110 <xsd:simpletype name="onetoninetynine"> <xsd:restriction base="xsd:positiveinteger"> <xsd:maxinclusive value="99"/> </xsd:restriction> </xsd:simpletype> <xsd:simpletype name="numberslist"> <xsd:list itemtype="onetoninetynine"/> </xsd:simpletype> <xsd:simpletype name="lotterynumbers"> <xsd:restriction base="numberslist"> <xsd:length value="6"/> </xsd:restriction> </xsd:simpletype> NumbersList LotteryNumbers NumbersList 6 OneToNinetyNin 110

111 <xsd:simpletype name="onetoninetynine"> <xsd:restriction base="xsd:positiveinteger"> <xsd:maxinclusive value="99"/> </xsd:restriction> </xsd:simpletype> <xsd:simpletype name="numberslist"> <xsd:list itemtype="onetoninetynine"/> </xsd:simpletype> <xsd:simpletype name="lotterynumbers"> <xsd:restriction base="numberslist"> <xsd:length value="6"/> </xsd:restriction> </xsd:simpletype>, <xsd:simpletype name="lotterynumbers"> <xsd:restriction> <xsd:simpletype> <xsd:list itemtype="onetoninetynine"/> </xsd:simpletype> <xsd:length value="6"/> </xsd:restriction> </xsd:simpletype> 111

112 Σηµειώσεις για τον τύπο list %.,., lists list lists * list complextypes simpletypes! instance document, white space (blank space, tab, list '. ( % &- 1 ( 0 - % &'! $ # " + ' * ) ( list. %.' ' ) -!, facets : length: use this to specify the length of the list minlength: use this to specify the minimum length of the list maxlength: use this to specify the maximum length of the list enumeration: use this to specify the values that the list may have pattern: use this to specify the values that the list may have * carriage return) /, 112

113 Ανακεφαλαίωση δήλωσης simpletypes 1. simpletype built-in base type: <xsd:simpletype name= "EarthSurfaceElevation"> <xsd:restriction base="xsd:integer"> <xsd:mininclusive value="-1290"/> <xsd:maxinclusive value="29035"/> </xsd:restriction> </xsd:simpletype> 2. simpletype simpletype base type: <xsd:simpletype name= "BostonSurfaceElevation"> <xsd:restriction base="earthsurfaceelevation"> <xsd:mininclusive value="0"/> <xsd:maxinclusive value="120"/> </xsd:restriction> </xsd:simpletype> 113

114 Summary of Declaring simpletypes 3. simpletype list: <xsd:simpletype name= "LotteryNumbers"> <xsd:list itemtype="onetoninetynine"/> </xsd:simpletype> where the datatype OneToNinetyNine is declared as: <xsd:simpletype name= "OneToNinetyNine"> <xsd:restriction base="xsd:nonnegativeinteger"> <xsd:maxinclusive value="99"/> </xsd:restriction> </xsd:simpletype> 4., inlined simpletype: <xsd:simpletype name= "LotteryNumbers"> <xsd:list> <xsd:simpletype> <xsd:restriction base="xsd:nonnegativeinteger"> <xsd:maxinclusive value="99"/> </xsd:restriction> </xsd:simpletype> </xsd:list> </xsd:simpletype> 114

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ιαχείριση εδομένων στον Παγκόσμιο Ιστό

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ιαχείριση εδομένων στον Παγκόσμιο Ιστό Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 9. XML Schema ιαχείριση εδομένων στον Παγκόσμιο Ιστό Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων Τετάρτη

Διαβάστε περισσότερα

Σημασιολογικός Ιστός (Semantic Web) - XML

Σημασιολογικός Ιστός (Semantic Web) - XML Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σημασιολογικός Ιστός (Semantic Web) - XML 9/12/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

Εισαγωγή(στη(γλώσσα(XML(

Εισαγωγή(στη(γλώσσα(XML( Εισαγωγή(στη(γλώσσα(XML( Μανόλης(Γεργατσούλης(( Χρήστος(Παπαθεοδώρου( Ομάδα(Βάσεων(Δεδομένων(και(Πληροφοριακών( Συστημάτων,(Τμήμα(Αρχειονομίας( (Βιβλιοθηκονομίας(( Ιόνιο(Πανεπιστήμιο( HTML(! Απλή(γλώσσα&σημειοθέτησης((markup&language)(!

Διαβάστε περισσότερα

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. ΗΥ-561 Διαχείριση Δεδομένων στο Παγκόσμιο Ιστό Βασίλης Χριστοφίδης

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. ΗΥ-561 Διαχείριση Δεδομένων στο Παγκόσμιο Ιστό Βασίλης Χριστοφίδης Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-561 Διαχείριση Δεδομένων στο Παγκόσμιο Ιστό Βασίλης Χριστοφίδης Ονοματεπώνυμο : Αριθμός Μητρώου: Τελική Εξέταση (3 ώρες) Ημερομηνία: Πέμπτη 19 Ιουλίου

Διαβάστε περισσότερα

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML Εργαστήρια 7-8 Στουγιάννου Ελευθερία estoug@unipi.gr Περιεχόμενα Έβδομου-Όγδοου Εργαστηριακού Μαθήματος XML Schema Ασκήσεις -

Διαβάστε περισσότερα

Εισαγωγή στην XML (μέρος 1 ο ) Χρήστος Ηλιούδης

Εισαγωγή στην XML (μέρος 1 ο ) Χρήστος Ηλιούδης Εισαγωγή στην XML (μέρος 1 ο ) Χρήστος Ηλιούδης Δικτυακοί τόποι για XML http://www.w3schools.com: site με tutorials για XML, XSL κλπ. http://www.w3c.com: όλα τα (official) specifications και recommendations

Διαβάστε περισσότερα

Εισαγωγή στην Γλώσσα XML

Εισαγωγή στην Γλώσσα XML ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ στα ΠΟΛΥΠΛΟΚΑ ΣΥΣΤΗΜΑΤΑ και ΔΙΚΤΥΑ Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός Χειμερινό Εξάμηνο Σπουδών Διάλεξη 04 Εισαγωγή στην Γλώσσα XML Δρ. Γεώργιος

Διαβάστε περισσότερα

Εισαγωγή στην Γλώσσα XML

Εισαγωγή στην Γλώσσα XML Τμήμα Μαθηματικών Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Μαθηματικά Λογισμικά και Γλώσσες Αναπαράστασης Γνώσης Εισαγωγή στην Γλώσσα XML Δρ. Γεώργιος Χρ. Μακρής 1 XML Tutorial https://www.w3schools.com/xml/default.asp

Διαβάστε περισσότερα

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 5: XML. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 5: XML. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 5: XML Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Σκοποί ενότητας Σκοπός της παρούσας ενότητας είναι να εξοικειωθούν

Διαβάστε περισσότερα

Web Services. και SOAP

Web Services. και SOAP Web Services και SOAP Πίνακας Περιεχομένων 1 Εισαγωγή στα web services...3 2 Αρχιτεκτονική και δομικά στοιχεία των web services...9 3 XML...15 4 WSDL και UDDI...25 5 SOAP...32 6 Αναπτυσσόμενες τεχνολογίες...52

Διαβάστε περισσότερα

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML Εργαστήριο 3 Στουγιάννου Ελευθερία estoug@unipi.gr Περιεχόμενα Τρίτου Εργαστηριακού Μαθήματος Ορίζοντας διαλέκτους DTDs (συνέχεια)

Διαβάστε περισσότερα

α) Όσον αφορά το γενικό μήνυμα :

α) Όσον αφορά το γενικό μήνυμα : Τεύχος Β' 3087/07.09.2017 ΕΦΗΜΕΡΙΔΑ ΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ 3 6 7 3 1 περιλαμβάνει τα ακόλουθα στοιχεία και ιδιοχαρακτηριστικά, τα οποία είναι εφαρμοστέα σε μια δεδομένη υπόθεση επιπλέον της εφαρμογής των κανόνων

Διαβάστε περισσότερα

Μοντέλο. για ημι-δομημένα μημ δεδομένα. Ημι-δομημένα δεδομένα XML DTD XML Schema

Μοντέλο. για ημι-δομημένα μημ δεδομένα. Ημι-δομημένα δεδομένα XML DTD XML Schema Μοντέλο για ημι-δομημένα μημ δεδομένα Ημι-δομημένα δεδομένα XML DTD XML Schema Εισαγωγικά 3 βασικές κατηγορίες δεδομένων: Δομημένα (structured): τα δεδομένα σε ΒΔ, όπου η αναπαράσταση γίνεται σύμφωνα με

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΕΤΑΙΡΕΙΩΝ ΔΙΑΜΕΣΟΛΑΒΗΣΗΣ ΣΤΗ ΜΕΤΑΦΟΡΑ ΚΕΦΑΛΑΙΩΝ

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΕΤΑΙΡΕΙΩΝ ΔΙΑΜΕΣΟΛΑΒΗΣΗΣ ΣΤΗ ΜΕΤΑΦΟΡΑ ΚΕΦΑΛΑΙΩΝ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΕΤΑΙΡΕΙΩΝ ΔΙΑΜΕΣΟΛΑΒΗΣΗΣ ΣΤΗ ΜΕΤΑΦΟΡΑ ΚΕΦΑΛΑΙΩΝ ΠΕΡΙΕΧΟΜΕΝΑ 1.Γενικές παρατηρήσεις... 2 1.2 Είσοδος στην εφαρμογή... 3 2. Πίνακας αναφορών... 3 2.1 Περιγραφή του πίνακα αναφορών... 4

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2 Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Φεβρουάριος 2008 Περιεχόμενα SQL Language

Διαβάστε περισσότερα

Σημασιολογικός Ιστός (Semantic Web) - XML

Σημασιολογικός Ιστός (Semantic Web) - XML Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σημασιολογικός Ιστός (Semantic Web) - XML 22/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ XML (extended Markup Language) Ι. Χατζηλυγερούδης ΕΙΣΑΓΩΓΗ SGML (Standard Generalized Markup Language) Διεθνές πρότυπο ορισμού μεθόδων αναπαράστασης πληροφοριών

Διαβάστε περισσότερα

Homework 3 Solutions

Homework 3 Solutions Homework 3 Solutions Igor Yanovsky (Math 151A TA) Problem 1: Compute the absolute error and relative error in approximations of p by p. (Use calculator!) a) p π, p 22/7; b) p π, p 3.141. Solution: For

Διαβάστε περισσότερα

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Procedures and Functions Stored procedures and functions are named blocks of code that enable you to group and organize a series of SQL and PL/SQL

Διαβάστε περισσότερα

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή

Διαβάστε περισσότερα

Εισαγωγή XML: Extensible Markup Language Ορίστηκε από το WWW Consortium (W3C) ως συµπλήρωµα της HTML. εν σχεδιάστηκε για βάσεις δεδοµένων αλλά για δια

Εισαγωγή XML: Extensible Markup Language Ορίστηκε από το WWW Consortium (W3C) ως συµπλήρωµα της HTML. εν σχεδιάστηκε για βάσεις δεδοµένων αλλά για δια Ηµιδοµηµένες Β - XML Εισαγωγή Η δοµή των XML δεδοµένων Οργάνωση / διαχείριση XML δεδοµένων Ερωτήσεις σε XML δεδοµένα Αποθήκευση XML δεδοµένων σε Σχεσιακές Β Βασικήπηγήδιαφανειών: Silberschatz et al., Database

Διαβάστε περισσότερα

Matrices and Determinants

Matrices and Determinants Matrices and Determinants SUBJECTIVE PROBLEMS: Q 1. For what value of k do the following system of equations possess a non-trivial (i.e., not all zero) solution over the set of rationals Q? x + ky + 3z

Διαβάστε περισσότερα

SOAP API. https://bulksmsn.gr. Table of Contents

SOAP API. https://bulksmsn.gr. Table of Contents SOAP API https://bulksmsn.gr Table of Contents Send SMS...2 Query SMS...3 Multiple Query SMS...4 Credits...5 Save Contact...5 Delete Contact...7 Delete Message...8 Email: sales@bulksmsn.gr, Τηλ: 211 850

Διαβάστε περισσότερα

5. Επερώτηση XML Εγγράφων: Εισαγωγή στη Γλώσσα XQuery

5. Επερώτηση XML Εγγράφων: Εισαγωγή στη Γλώσσα XQuery Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Επερώτηση XML Εγγράφων: Εισαγωγή στη Γλώσσα XQuery ιαχείριση εδομένων στον Παγκόσμιο Ιστό Χρήστος ουλκερίδης

Διαβάστε περισσότερα

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011 Διάρκεια Διαγωνισμού: 3 ώρες Απαντήστε όλες τις ερωτήσεις Μέγιστο Βάρος (20 Μονάδες) Δίνεται ένα σύνολο από N σφαιρίδια τα οποία δεν έχουν όλα το ίδιο βάρος μεταξύ τους και ένα κουτί που αντέχει μέχρι

Διαβάστε περισσότερα

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Να γραφεί πρόγραμμα το οποίο δέχεται ως είσοδο μια ακολουθία S από n (n 40) ακέραιους αριθμούς και επιστρέφει ως έξοδο δύο ακολουθίες από θετικούς ακέραιους

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial Introduction Το Javadoc είναι ένα εργαλείο που παράγει αρχεία html (παρόμοιο με τις σελίδες στη διεύθυνση http://docs.oracle.com/javase/8/docs/api/index.html) από τα σχόλια

Διαβάστε περισσότερα

6.1. Dirac Equation. Hamiltonian. Dirac Eq.

6.1. Dirac Equation. Hamiltonian. Dirac Eq. 6.1. Dirac Equation Ref: M.Kaku, Quantum Field Theory, Oxford Univ Press (1993) η μν = η μν = diag(1, -1, -1, -1) p 0 = p 0 p = p i = -p i p μ p μ = p 0 p 0 + p i p i = E c 2 - p 2 = (m c) 2 H = c p 2

Διαβάστε περισσότερα

2 Composition. Invertible Mappings

2 Composition. Invertible Mappings Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan Composition. Invertible Mappings In this section we discuss two procedures for creating new mappings from old ones, namely,

Διαβάστε περισσότερα

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες: Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών

Διαβάστε περισσότερα

EE512: Error Control Coding

EE512: Error Control Coding EE512: Error Control Coding Solution for Assignment on Finite Fields February 16, 2007 1. (a) Addition and Multiplication tables for GF (5) and GF (7) are shown in Tables 1 and 2. + 0 1 2 3 4 0 0 1 2 3

Διαβάστε περισσότερα

Μορφοποίηση υπό όρους : Μορφή > Μορφοποίηση υπό όρους/γραμμές δεδομένων/μορφοποίηση μόο των κελιών που περιέχουν/

Μορφοποίηση υπό όρους : Μορφή > Μορφοποίηση υπό όρους/γραμμές δεδομένων/μορφοποίηση μόο των κελιών που περιέχουν/ Μορφοποίηση υπό όρους : Μορφή > Μορφοποίηση υπό όρους/γραμμές δεδομένων/μορφοποίηση μόο των κελιών που περιέχουν/ Συνάρτηση round() Περιγραφή Η συνάρτηση ROUND στρογγυλοποιεί έναν αριθμό στον δεδομένο

Διαβάστε περισσότερα

extensible Markup Language: XML

extensible Markup Language: XML extensible Markup Language: XML 2 Ο παραδοσιακός Παγκόσµιος Ιστός Ένα απλό, κοινό πρότυπο για ανταλλαγή και διάδοση πληροφοριών. Η πληροφορία κατατέµνεται σε τµήµατα (πληροφοριακές «νησίδες» - ιστοσελίδες),

Διαβάστε περισσότερα

3. Επερώτηση XML Εγγράφων: Η Γλώσσα XPath

3. Επερώτηση XML Εγγράφων: Η Γλώσσα XPath Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Επερώτηση XML Εγγράφων: Η Γλώσσα XPath ιαχείριση εδομένων στον Παγκόσμιο Ιστό Χρήστος ουλκερίδης Τμήμα

Διαβάστε περισσότερα

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Όλοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι του 10000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις

Διαβάστε περισσότερα

Finite Field Problems: Solutions

Finite Field Problems: Solutions Finite Field Problems: Solutions 1. Let f = x 2 +1 Z 11 [x] and let F = Z 11 [x]/(f), a field. Let Solution: F =11 2 = 121, so F = 121 1 = 120. The possible orders are the divisors of 120. Solution: The

Διαβάστε περισσότερα

Μητρώο [.gr] Οδηγός ιασύνδεσης. Αξιοποίησης του Εξυπηρετητή EPP. Έκδοση 2.0. [ EPP Server Connection and Use Guide ]

Μητρώο [.gr] Οδηγός ιασύνδεσης. Αξιοποίησης του Εξυπηρετητή EPP. Έκδοση 2.0. [ EPP Server Connection and Use Guide ] [.gr] cctld Σελίδα 1 από 13 Μητρώο [.gr] Οδηγός ιασύνδεσης & Αξιοποίησης του Εξυπηρετητή EPP Έκδοση 2.0 [ EPP Server Connection and Use Guide ] [.gr] cctld Σελίδα 2 από 13 Περιεχόµενα Περιεχόµενα... 2

Διαβάστε περισσότερα

Partial Trace and Partial Transpose

Partial Trace and Partial Transpose Partial Trace and Partial Transpose by José Luis Gómez-Muñoz http://homepage.cem.itesm.mx/lgomez/quantum/ jose.luis.gomez@itesm.mx This document is based on suggestions by Anirban Das Introduction This

Διαβάστε περισσότερα

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-561 ιαχείριση εδοµένων στο Παγκόσµιο Ιστό Βασίλης Χριστοφίδης

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-561 ιαχείριση εδοµένων στο Παγκόσµιο Ιστό Βασίλης Χριστοφίδης Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-561 ιαχείριση εδοµένων στο Παγκόσµιο Ιστό Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Άσκηση 1 (40 µονάδες) Τελική Εξέταση (3 ώρες) Ηµεροµηνία:

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Προγραμματισμός Η/Υ Ενότητα 2 η : Η Γλώσσα Προγραμματισμού VB.NET (1 ο Μέρος) Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Λογιστικής & Χρηματοοικονομικής

Διαβάστε περισσότερα

ΝΤUA. Τεχνολογία Πολυμέσων

ΝΤUA. Τεχνολογία Πολυμέσων ΝΤUA Τεχνολογία Πολυμέσων 5. Διάλεξη 5: XML XML Μεταγλώσσα για την κωδικοποίηση δεδομένων Πρόβλημα που επιζητά λύσεις: Kοινή γλώσσα επικοινωνίας των εφαρμογών Σημαίνει extensible Markup Language Σχεδιάστηκε

Διαβάστε περισσότερα

Example Sheet 3 Solutions

Example Sheet 3 Solutions Example Sheet 3 Solutions. i Regular Sturm-Liouville. ii Singular Sturm-Liouville mixed boundary conditions. iii Not Sturm-Liouville ODE is not in Sturm-Liouville form. iv Regular Sturm-Liouville note

Διαβάστε περισσότερα

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML

ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ - XML Εργαστήρια 2-3 Στουγιάννου Ελευθερία estoug@unipi.gr Περιεχόμενα Δεύτερου & Τρίτου Εργαστηριακού Μαθήματος Ορίζοντας διαλέκτους

Διαβάστε περισσότερα

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο

Διαβάστε περισσότερα

Approximation of distance between locations on earth given by latitude and longitude

Approximation of distance between locations on earth given by latitude and longitude Approximation of distance between locations on earth given by latitude and longitude Jan Behrens 2012-12-31 In this paper we shall provide a method to approximate distances between two points on earth

Διαβάστε περισσότερα

Μητρώο [.gr] Οδηγός ιασύνδεσης. Αξιοποίησης του Εξυπηρετητή EPP. Έκδοση 3.0. [ EPP Server Connection and Use Guide ]

Μητρώο [.gr] Οδηγός ιασύνδεσης. Αξιοποίησης του Εξυπηρετητή EPP. Έκδοση 3.0. [ EPP Server Connection and Use Guide ] [.gr] cctld Σελίδα 1 από 16 Μητρώο [.gr] Οδηγός ιασύνδεσης & Αξιοποίησης του Εξυπηρετητή EPP Έκδοση 3.0 [ EPP Server Connection and Use Guide ] [.gr] cctld Σελίδα 2 από 16 Περιεχόµενα Περιεχόµενα... 2

Διαβάστε περισσότερα

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =? Teko Classes IITJEE/AIEEE Maths by SUHAAG SIR, Bhopal, Ph (0755) 3 00 000 www.tekoclasses.com ANSWERSHEET (TOPIC DIFFERENTIAL CALCULUS) COLLECTION # Question Type A.Single Correct Type Q. (A) Sol least

Διαβάστε περισσότερα

Δηζαγσγή ζηελ XML (κέξνο 2 ν ) Φξήζηνο Ηιηνύδεο

Δηζαγσγή ζηελ XML (κέξνο 2 ν ) Φξήζηνο Ηιηνύδεο Δηζαγσγή ζηελ XML (κέξνο 2 ν ) Φξήζηνο Ηιηνύδεο Γηθηπαθνί ηόπνη γηα XML http://www.w3schools.com: site κε tutorials γηα XML, XSL θιπ. http://www.w3c.com: όια ηα (official) specifications θαη recommendations

Διαβάστε περισσότερα

k A = [k, k]( )[a 1, a 2 ] = [ka 1,ka 2 ] 4For the division of two intervals of confidence in R +

k A = [k, k]( )[a 1, a 2 ] = [ka 1,ka 2 ] 4For the division of two intervals of confidence in R + Chapter 3. Fuzzy Arithmetic 3- Fuzzy arithmetic: ~Addition(+) and subtraction (-): Let A = [a and B = [b, b in R If x [a and y [b, b than x+y [a +b +b Symbolically,we write A(+)B = [a (+)[b, b = [a +b

Διαβάστε περισσότερα

Case 1: Original version of a bill available in only one language.

Case 1: Original version of a bill available in only one language. currentid originalid attributes currentid attribute is used to identify an element and must be unique inside the document. originalid is used to mark the identifier that the structure used to have in the

Διαβάστε περισσότερα

Advanced Subsidiary Unit 1: Understanding and Written Response

Advanced Subsidiary Unit 1: Understanding and Written Response Write your name here Surname Other names Edexcel GE entre Number andidate Number Greek dvanced Subsidiary Unit 1: Understanding and Written Response Thursday 16 May 2013 Morning Time: 2 hours 45 minutes

Διαβάστε περισσότερα

Regular Expressions ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ

Regular Expressions ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ Regular Expressions ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ Regular Expressions - γενικά Βασική ιδέα: έχουμε ένα pattern και ένα κείμενο εισόδου. Εφαρμόζουμε το pattern στο κείμενο και μπορούμε: Να ελέγξουμε αν μέρος του

Διαβάστε περισσότερα

IIT JEE (2013) (Trigonomtery 1) Solutions

IIT JEE (2013) (Trigonomtery 1) Solutions L.K. Gupta (Mathematic Classes) www.pioeermathematics.com MOBILE: 985577, 677 (+) PAPER B IIT JEE (0) (Trigoomtery ) Solutios TOWARDS IIT JEE IS NOT A JOURNEY, IT S A BATTLE, ONLY THE TOUGHEST WILL SURVIVE

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΕΛΕΝΑ ΦΛΟΚΑ Επίκουρος Καθηγήτρια Τµήµα Φυσικής, Τοµέας Φυσικής Περιβάλλοντος- Μετεωρολογίας ΓΕΝΙΚΟΙ ΟΡΙΣΜΟΙ Πληθυσµός Σύνολο ατόµων ή αντικειµένων στα οποία αναφέρονται

Διαβάστε περισσότερα

Wrapper Classes, Abstract Classes and Interfaces

Wrapper Classes, Abstract Classes and Interfaces Wrapper Classes, Abstract Classes and Interfaces Εβδοµάδα 3: Κλάσεις συσκευαστές, αφηρηµένες κλάσεις και διαπροσωπείες Αντικείµενα και µη-αντικείµενα Η Java παρέχει τύπους αντικειµένων και απλούς τύπους

Διαβάστε περισσότερα

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS CHAPTER 5 SOLVING EQUATIONS BY ITERATIVE METHODS EXERCISE 104 Page 8 1. Find the positive root of the equation x + 3x 5 = 0, correct to 3 significant figures, using the method of bisection. Let f(x) =

Διαβάστε περισσότερα

A ΜΕΡΟΣ. 1 program Puppy_Dog; 2 3 begin 4 end. 5 6 { Result of execution 7 8 (There is no output from this program ) 9 10 }

A ΜΕΡΟΣ. 1 program Puppy_Dog; 2 3 begin 4 end. 5 6 { Result of execution 7 8 (There is no output from this program ) 9 10 } A ΜΕΡΟΣ 1 program Puppy_Dog; begin 4 end. 5 6 { Result of execution 7 (There is no output from this program ) 10 } (* Κεφάλαιο - Πρόγραµµα EX0_.pas *) 1 program Kitty_Cat; begin 4 Writeln('This program');

Διαβάστε περισσότερα

Test Data Management in Practice

Test Data Management in Practice Problems, Concepts, and the Swisscom Test Data Organizer Do you have issues with your legal and compliance department because test environments contain sensitive data outsourcing partners must not see?

Διαβάστε περισσότερα

Σημασιολογικός Ιστός (Semantic Web) - XML

Σημασιολογικός Ιστός (Semantic Web) - XML Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σημασιολογικός Ιστός (Semantic Web) - XML Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων XML

Διαβάστε περισσότερα

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006 ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/26 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι το 1 εκτός αν ορίζεται διαφορετικά στη διατύπωση

Διαβάστε περισσότερα

derivation of the Laplacian from rectangular to spherical coordinates

derivation of the Laplacian from rectangular to spherical coordinates derivation of the Laplacian from rectangular to spherical coordinates swapnizzle 03-03- :5:43 We begin by recognizing the familiar conversion from rectangular to spherical coordinates (note that φ is used

Διαβάστε περισσότερα

Volume of a Cuboid. Volume = length x breadth x height. V = l x b x h. The formula for the volume of a cuboid is

Volume of a Cuboid. Volume = length x breadth x height. V = l x b x h. The formula for the volume of a cuboid is Volume of a Cuboid The formula for the volume of a cuboid is Volume = length x breadth x height V = l x b x h Example Work out the volume of this cuboid 10 cm 15 cm V = l x b x h V = 15 x 6 x 10 V = 900cm³

Διαβάστε περισσότερα

Homework 8 Model Solution Section

Homework 8 Model Solution Section MATH 004 Homework Solution Homework 8 Model Solution Section 14.5 14.6. 14.5. Use the Chain Rule to find dz where z cosx + 4y), x 5t 4, y 1 t. dz dx + dy y sinx + 4y)0t + 4) sinx + 4y) 1t ) 0t + 4t ) sinx

Διαβάστε περισσότερα

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1 Εισαγωγή στην Γλώσσα Προγραμματισμού Python 12/10/16 costis@teicrete.gr 1 Διάφορες Γλώσσες Προγραμματισμού C or C++ Java Perl Scheme Fortran Python Matlab 12/10/16 costis@teicrete.gr 2 Περίληψη Παρουσίασης

Διαβάστε περισσότερα

C.S. 430 Assignment 6, Sample Solutions

C.S. 430 Assignment 6, Sample Solutions C.S. 430 Assignment 6, Sample Solutions Paul Liu November 15, 2007 Note that these are sample solutions only; in many cases there were many acceptable answers. 1 Reynolds Problem 10.1 1.1 Normal-order

Διαβάστε περισσότερα

Every set of first-order formulas is equivalent to an independent set

Every set of first-order formulas is equivalent to an independent set Every set of first-order formulas is equivalent to an independent set May 6, 2008 Abstract A set of first-order formulas, whatever the cardinality of the set of symbols, is equivalent to an independent

Διαβάστε περισσότερα

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit Ting Zhang Stanford May 11, 2001 Stanford, 5/11/2001 1 Outline Ordinal Classification Ordinal Addition Ordinal Multiplication Ordinal

Διαβάστε περισσότερα

Reminders: linear functions

Reminders: linear functions Reminders: linear functions Let U and V be vector spaces over the same field F. Definition A function f : U V is linear if for every u 1, u 2 U, f (u 1 + u 2 ) = f (u 1 ) + f (u 2 ), and for every u U

Διαβάστε περισσότερα

Mock Exam 7. 1 Hong Kong Educational Publishing Company. Section A 1. Reference: HKDSE Math M Q2 (a) (1 + kx) n 1M + 1A = (1) =

Mock Exam 7. 1 Hong Kong Educational Publishing Company. Section A 1. Reference: HKDSE Math M Q2 (a) (1 + kx) n 1M + 1A = (1) = Mock Eam 7 Mock Eam 7 Section A. Reference: HKDSE Math M 0 Q (a) ( + k) n nn ( )( k) + nk ( ) + + nn ( ) k + nk + + + A nk... () nn ( ) k... () From (), k...() n Substituting () into (), nn ( ) n 76n 76n

Διαβάστε περισσότερα

Section 8.3 Trigonometric Equations

Section 8.3 Trigonometric Equations 99 Section 8. Trigonometric Equations Objective 1: Solve Equations Involving One Trigonometric Function. In this section and the next, we will exple how to solving equations involving trigonometric functions.

Διαβάστε περισσότερα

Second Order Partial Differential Equations

Second Order Partial Differential Equations Chapter 7 Second Order Partial Differential Equations 7.1 Introduction A second order linear PDE in two independent variables (x, y Ω can be written as A(x, y u x + B(x, y u xy + C(x, y u u u + D(x, y

Διαβάστε περισσότερα

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

Διαβάστε περισσότερα

Διάλεξη 6 Εργαλεία Ωφελιμότητας Unix: Sed

Διάλεξη 6 Εργαλεία Ωφελιμότητας Unix: Sed ΕΠΛ371 - Προγραμματισμός Συστημάτων Διάλεξη 6 Εργαλεία Ωφελιμότητας Unix: Sed Δημήτρης Ζεϊναλιπούρ 6-1 Επεξεργασία Ρεύματος sed (Stream EDitor) awk (Alfred Aho, Peter Weinberger, and Brian Kernighan) è

Διαβάστε περισσότερα

ΝΤUA. Τεχνολογία Πολυμέσων

ΝΤUA. Τεχνολογία Πολυμέσων ΝΤUA Τεχνολογία Πολυμέσων Contents 2. Lesson 5: XML Τα αρχικά XML Extensible Markup Language Μεταγλώσσα προγραμματισμού για την κωδικοποίηση δεδομένων Έστω ότι θέλουμε να παρουσιάσουμε ένα κείμενο, μια

Διαβάστε περισσότερα

If we restrict the domain of y = sin x to [ π, π ], the restrict function. y = sin x, π 2 x π 2

If we restrict the domain of y = sin x to [ π, π ], the restrict function. y = sin x, π 2 x π 2 Chapter 3. Analytic Trigonometry 3.1 The inverse sine, cosine, and tangent functions 1. Review: Inverse function (1) f 1 (f(x)) = x for every x in the domain of f and f(f 1 (x)) = x for every x in the

Διαβάστε περισσότερα

Other Test Constructions: Likelihood Ratio & Bayes Tests

Other Test Constructions: Likelihood Ratio & Bayes Tests Other Test Constructions: Likelihood Ratio & Bayes Tests Side-Note: So far we have seen a few approaches for creating tests such as Neyman-Pearson Lemma ( most powerful tests of H 0 : θ = θ 0 vs H 1 :

Διαβάστε περισσότερα

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in

Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in : tail in X, head in A nowhere-zero Γ-flow is a Γ-circulation such that

Διαβάστε περισσότερα

Χρειάζεται να φέρω μαζί μου τα πρωτότυπα έγγραφα ή τα αντίγραφα; Asking if you need to provide the original documents or copies Ποια είναι τα κριτήρια

Χρειάζεται να φέρω μαζί μου τα πρωτότυπα έγγραφα ή τα αντίγραφα; Asking if you need to provide the original documents or copies Ποια είναι τα κριτήρια - University Θα ήθελα να εγγραφώ σε πανεπιστήμιο. Stating that you want to enroll Θα ήθελα να γραφτώ για. Stating that you want to apply for a course ένα προπτυχιακό ένα μεταπτυχιακό ένα διδακτορικό πλήρους

Διαβάστε περισσότερα

If we restrict the domain of y = sin x to [ π 2, π 2

If we restrict the domain of y = sin x to [ π 2, π 2 Chapter 3. Analytic Trigonometry 3.1 The inverse sine, cosine, and tangent functions 1. Review: Inverse function (1) f 1 (f(x)) = x for every x in the domain of f and f(f 1 (x)) = x for every x in the

Διαβάστε περισσότερα

The Simply Typed Lambda Calculus

The Simply Typed Lambda Calculus Type Inference Instead of writing type annotations, can we use an algorithm to infer what the type annotations should be? That depends on the type system. For simple type systems the answer is yes, and

Διαβάστε περισσότερα

Partial Differential Equations in Biology The boundary element method. March 26, 2013

Partial Differential Equations in Biology The boundary element method. March 26, 2013 The boundary element method March 26, 203 Introduction and notation The problem: u = f in D R d u = ϕ in Γ D u n = g on Γ N, where D = Γ D Γ N, Γ D Γ N = (possibly, Γ D = [Neumann problem] or Γ N = [Dirichlet

Διαβάστε περισσότερα

Ο ΗΓΟΣ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΚΜΗΡΙΩΣΗΣ ΚΑΙ ΙΑΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑΣ

Ο ΗΓΟΣ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΚΜΗΡΙΩΣΗΣ ΚΑΙ ΙΑΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑΣ Ο ΗΓΟΣ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΚΜΗΡΙΩΣΗΣ ΚΑΙ ΙΑΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑΣ Κέντρο Πολιτισµικής Πληροφορικής Ινστιτούτο Πληροφορικής ΙΤΕ Επιµέλεια: Πάνος Κωνσταντόπουλος Χρυσούλα Μπεκιάρη Μάρτιν Ντέρ Επιχειρησιακό Πρόγραµµα

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΙΙ. Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο

Βάσεις Δεδομένων ΙΙ. Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο Βάσεις Δεδομένων ΙΙ Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Εισαγωγή Πολλές εφαρμογές διαδικτύου υποστηρίζουν web διεπαφές

Διαβάστε περισσότερα

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1 Conceptual Questions. State a Basic identity and then verify it. a) Identity: Solution: One identity is cscθ) = sinθ) Practice Exam b) Verification: Solution: Given the point of intersection x, y) of the

Διαβάστε περισσότερα

Elements of Information Theory

Elements of Information Theory Elements of Information Theory Model of Digital Communications System A Logarithmic Measure for Information Mutual Information Units of Information Self-Information News... Example Information Measure

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ342: Βάσεις Δεδομένων. Χειμερινό Εξάμηνο Φροντιστήριο 10 ΛΥΣΕΙΣ. Επερωτήσεις SQL

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ342: Βάσεις Δεδομένων. Χειμερινό Εξάμηνο Φροντιστήριο 10 ΛΥΣΕΙΣ. Επερωτήσεις SQL ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ342: Βάσεις Δεδομένων Χειμερινό Εξάμηνο 2013 Φροντιστήριο 10 ΛΥΣΕΙΣ Επερωτήσεις SQL Άσκηση 1 Για το ακόλουθο σχήμα Suppliers(sid, sname, address) Parts(pid, pname,

Διαβάστε περισσότερα

ΜΕΡΟΣ II: XML DTD XML Namespaces XML Schema

ΜΕΡΟΣ II: XML DTD XML Namespaces XML Schema ΜΕΡΟΣ II: XML DTD XML Namespaces XML Schema Πίνακας Περιεχοµένων ΚΕΦΑΛΑΙΟ 3: ΕXtensible Markup Language (XML)...33 3.1. Εισαγωγή...33 3.2. Πώς ξεκινά ένα XML τεκµήριο...34 3.3. Στοιχεία στην XML...34

Διαβάστε περισσότερα

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Cambridge International Examinations Cambridge International General Certificate of Secondary Education Cambridge International Examinations Cambridge International General Certificate of Secondary Education GREEK 0543/04 Paper 4 Writing For Examination from 2015 SPECIMEN PAPER Candidates answer on the Question

Διαβάστε περισσότερα

CRASH COURSE IN PRECALCULUS

CRASH COURSE IN PRECALCULUS CRASH COURSE IN PRECALCULUS Shiah-Sen Wang The graphs are prepared by Chien-Lun Lai Based on : Precalculus: Mathematics for Calculus by J. Stuwart, L. Redin & S. Watson, 6th edition, 01, Brooks/Cole Chapter

Διαβάστε περισσότερα

Δομημένη Αναπαράσταση Πληροφοριών

Δομημένη Αναπαράσταση Πληροφοριών Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Δομημένη Αναπαράσταση Πληροφοριών 27/3/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

Section 7.6 Double and Half Angle Formulas

Section 7.6 Double and Half Angle Formulas 09 Section 7. Double and Half Angle Fmulas To derive the double-angles fmulas, we will use the sum of two angles fmulas that we developed in the last section. We will let α θ and β θ: cos(θ) cos(θ + θ)

Διαβάστε περισσότερα

Quadratic Expressions

Quadratic Expressions Quadratic Expressions. The standard form of a quadratic equation is ax + bx + c = 0 where a, b, c R and a 0. The roots of ax + bx + c = 0 are b ± b a 4ac. 3. For the equation ax +bx+c = 0, sum of the roots

Διαβάστε περισσότερα

ST5224: Advanced Statistical Theory II

ST5224: Advanced Statistical Theory II ST5224: Advanced Statistical Theory II 2014/2015: Semester II Tutorial 7 1. Let X be a sample from a population P and consider testing hypotheses H 0 : P = P 0 versus H 1 : P = P 1, where P j is a known

Διαβάστε περισσότερα

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016 Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Dynamic types, Lambda calculus machines Apr 21 22, 2016 1 Dynamic types and contracts (a) To make sure you understand the

Διαβάστε περισσότερα

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education *2517291414* GREEK 0543/02 Paper 2 Reading and Directed Writing May/June 2013 1 hour 30 minutes

Διαβάστε περισσότερα

4.6 Autoregressive Moving Average Model ARMA(1,1)

4.6 Autoregressive Moving Average Model ARMA(1,1) 84 CHAPTER 4. STATIONARY TS MODELS 4.6 Autoregressive Moving Average Model ARMA(,) This section is an introduction to a wide class of models ARMA(p,q) which we will consider in more detail later in this

Διαβάστε περισσότερα

ΟΔΗΓΟΣ ΓΙΑ ΔΗΜΙΟΥΡΓΙΑ ΣΠΙΤΙΟΥ ΜΟΝΤΕΛΟ-1. Θα δημιουργήσουμε αυτό το μοντέλο με 2 κομμάτια, τη βάση και τη σκεπή.

ΟΔΗΓΟΣ ΓΙΑ ΔΗΜΙΟΥΡΓΙΑ ΣΠΙΤΙΟΥ ΜΟΝΤΕΛΟ-1. Θα δημιουργήσουμε αυτό το μοντέλο με 2 κομμάτια, τη βάση και τη σκεπή. ΟΔΗΓΟΣ ΓΙΑ ΔΗΜΙΟΥΡΓΙΑ ΣΠΙΤΙΟΥ ΜΟΝΤΕΛΟ-1 Θα δημιουργήσουμε αυτό το μοντέλο με 2 κομμάτια, τη βάση και τη σκεπή. Κατ αρχήν, χρησιμοποιώντας μιλλιμετρέ χαρτί, σχεδιάστε το σχήμα σας, όπως στο σχήμα που ακολουθεί.

Διαβάστε περισσότερα

PARTIAL NOTES for 6.1 Trigonometric Identities

PARTIAL NOTES for 6.1 Trigonometric Identities PARTIAL NOTES for 6.1 Trigonometric Identities tanθ = sinθ cosθ cotθ = cosθ sinθ BASIC IDENTITIES cscθ = 1 sinθ secθ = 1 cosθ cotθ = 1 tanθ PYTHAGOREAN IDENTITIES sin θ + cos θ =1 tan θ +1= sec θ 1 + cot

Διαβάστε περισσότερα