SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
‫أكاديمية الحكومة اإللكترونية الفلسطينية‬
           The Palestinian eGovernment Academy
                               www.egovacademy.ps




                               Tutorial III:
Process Integration and Service Oriented Architectures


             Session 2
    Overview XML NS and Schema

                              Prepared By

                       Mohammed Aldasht

                                 Reviewed by
     Prof. Marco Ronchetti and Prof. Paolo Bouquet, Trento University, Italy
                                  PalGov © 2011                                1
About

This tutorial is part of the PalGov project, funded by the TEMPUS IV program of the
Commission of the European Communities, grant agreement 511159-TEMPUS-1-
2010-1-PS-TEMPUS-JPHES. The project website: www.egovacademy.ps
Project Consortium:
             Birzeit University, Palestine
                                                           University of Trento, Italy
             (Coordinator )


             Palestine Polytechnic University, Palestine   Vrije Universiteit Brussel, Belgium


             Palestine Technical University, Palestine
                                                           Université de Savoie, France

             Ministry of Telecom and IT, Palestine
                                                           University of Namur, Belgium
             Ministry of Interior, Palestine
                                                           TrueTrust, UK
             Ministry of Local Government, Palestine


Coordinator:
Dr. Mustafa Jarrar
Birzeit University, P.O.Box 14- Birzeit, Palestine
Telfax:+972 2 2982935 mjarrar@birzeit.eduPalGov © 2011
                                                                                                 2
© Copyright Notes
Everyone is encouraged to use this material, or part of it, but should properly
cite the project (logo and website), and the author of that part.


No part of this tutorial may be reproduced or modified in any form or by any
means, without prior written permission from the project, who have the full
copyrights on the material.




                   Attribution-NonCommercial-ShareAlike
                                CC-BY-NC-SA

This license lets others remix, tweak, and build upon your work non-
commercially, as long as they credit you and license their new creations
under the identical terms.

                                    PalGov © 2011                                 3
Tutorial Map



           Intended Learning Objectives
A: Knowledge and Understanding
                                                                                    Title                    T    Name
 3a1: Demonstrate knowledge of the fundamentals of middleware.
 3a2: Describe the concept behind web service protocols.
                                                                     Session0: Syllabus and overview         0   Aldasht
 3a3: Explain the concept of service oriented architecture.          Sesson1: Introduction to SOA            2   Aldasht
 3a4: Explain the concept of enterprise service bus.                 Session2: XML namespaces & XML schema   2   Aldasht
 3a5: Understanding WSDL service interfaces in UDDI.                 Session 3: Xpath & Xquery               4   Romi
B: Intellectual Skills                                               Session4: REST web services             3   M. Melhem
 3b1: Design, develop, and deploy applications based on Service      Session5: Lab2: Practice on REST        3   M. Melhem
 Oriented Architecture (SOA).                                        Session 6: SOAP                         2   Aldasht
 3b2: use Business Process Execution Language (BPEL).                Session 7: WSDL                         3   Aldasht
 3b3: using WSDL to describe web services.
                                                                     Session8: Lab 3: WSDL practice          3   Aldasht
C: Professional and Practical Skills                                 Session9: ESB                           4   Aldasht
 3c1: setup, Invoke, and deploy web services using integrated
                                                                     Session10: Lab4: Practice on ESB        4   Aldasht
 development environment.
                                                                     Session11: integration patterns         4   M. Melhem
 3c2: construct and use REST and SOAP messages for web
 services communication.                                             Session12: Lab5: integration patterns   4   M. Melhem
D: General and Transferable Skills                                   Session13: BPEL                         3   Aldasht
 d1: Working with team.                                              Session14: Lab6: Practice on BPEL       3   Aldasht
 d2: Presenting and defending ideas.                                 Session15: UDDI                         2   Aldasht
 d3: Use of creativity and innovation in problem solving.
 d4: Develop communication skills and logical reasoning abilities.
Session Outlines

  XML Overview
     XML document and Grammars
  XML information set
  XML Namespaces
  XML Schema




           e-Government Lifelong Learning   5
Overview


• XML is a markup language, like HTML, consists of markup
  and text.
• Markup is composed of individual tags.
• Both HTML and XML are languages for exchanging data, but
  there is a difference between them.
• See next slide for and initial XML example.




                   e-Government Lifelong Learning        6
Valid and well-formed XML document

• Valid XML document is one that comply with the constraints
  expressed through a given grammar.
• A well-formed XML document is one that comply with XML
  syntax expressed in the XML standard.
   – But not associated with a distinct grammar.




                       e-Government Lifelong Learning      7
XML grammars

• Specified by two dominant concepts:
   – XML schema and Document Type Definitions (DTDs)
• XML schema is powerful to express structural XML document
  constraints than DTDs.
• XML document complying with a DTD or a schema is called
  and XML instance or instance document.
• See next slide, for the relationship between XML document
  grammar and XML instances resulting from applying the
  grammar.




                     e-Government Lifelong Learning       8
XML document grammar and valid XML instances, [2]




                                            XML Instance,
   XML Schema, DTD                            XML Instance,
                                         Instance Document
(XML Document Grammar)                          XML Instance,
                                           Instance Document
                                                  XML Instance,
                                             Instance Document
                           Valid               Instance Document
                         Documents




                  e-Government Lifelong Learning                   9
XML processor


• Applications are interested in the
  structural information and the
  XML instance, when XML is used
  to exchange data between them.
                                           XML Application
• XML processor, e.g. SOAP server,
                                                                    XML Schema,
  must validate the XML documents          XML Processor               DTD

  against the XML grammar and               XML Instance
                                             XML Instance
  pass the XML instance structure             XML Instance
  and payload to the application, e.g.
  SOAP message.                                A validating XML processor, [2]




                     e-Government Lifelong Learning                              10
Session Outlines

  XML Overview
     XML document and Grammars
  XML information set
  XML Namespaces
  XML Schema




           e-Government Lifelong Learning   11
XML information set

• XML info set, provides a set of abstract data definitions to
  represent the information in a well-formed XML document.
   – Each well-formed XML document has an associated info set.
• The information set consists of information items.
   – Each item describes an XML document part through a set of named
     properties




                      e-Government Lifelong Learning              12
Information item types of an XML information set, [2]




               document
                                                     Property
                                                     children
                                                     Property
                                                     attribute
 document
    type                       element
 declaration




                   Character
                                         attribute
                     data




                   e-Government Lifelong Learning                13
Information item types of an XML information set

• document, consists at least of one mandatory root element,
  and:
   – XML version info (optional) & encoding info for the document. These are
     called XML declaration.
   – Document type declaration: contains markup declarations provide the
     grammar.
   – These together is called prolog.




                     e-Government Lifelong Learning                    14
Information item types of an XML information set,
    cont.

• element: identified by a name and has a set of associated
  attributes.
• attribute: consists of a name and an associated value.
• character data: is an information item comprises the
  payload of an XML document.
• comment: element and document information items may
  contain comments.




                 e-Government Lifelong Learning          15
Information item types examples [2]


• Comment info item “may span multiple lines”:
   – <!– This is a comment -->
• Element info item:
   – element may have no content e.g.: <address/> or
     <address></address>

           <address>
                  <name>Mr Ahmad Ahmad</name>
                  <street>11 Alquds Street</street>
                  <city>Ramallah</city>
                  <postal-code>100</postal-code>
                  <country>Palestine</country>
           </address>


                     e-Government Lifelong Learning    16
Information item types examples [2]


• An attribute is specified in the start tag of an element and
  consists of a name-value pair.
   – This example links an attribute named targetAddress with the
     “PS” to the address elements:

           <address targetAddress=“PS”>
                  <name>Mr Ahmad Ahmad</name>
                  <street>11 Alquds Street</street>
                  <city>Ramallah</city>
                  <postal-code>100</postal-code>
                  <country>Palestine</country>
           </address>




                    e-Government Lifelong Learning              17
Information item types examples [2]

• Document info item: look to the following prolog:
   <?xml version=“1.0” encoding=UTF-16”?>
   <! DOCTYPE address [<!– DTDs go here --> ]>
   <address> <!– XML instances go here --> </address>
• Document type declaration identified by keyword DOCTYPE
  must be identical to the corresponding root element




                   e-Government Lifelong Learning     18
Information item types examples

• element content: if declared to be character data, this is
  indicated by the term #PCDATA. “Parsed Character Data”
   – Thus, a valid declaration would be:
  <?xml version=“1.0” encoding=UTF-16”?>
  <!   DOCTYPE   address   [<!ELEMENT    address
  (#PCDATA)> ]>
• In an XML instance the address element could appear as
  follows:      <address>
                             Mr Ahmad Ahmad
                             11 Alquds Street
                             Ramallah
                             100
                             Palestine
                      </address>

                       e-Government Lifelong Learning      19
Element content and mixed content

• We can combine elements and build nested element
  declarations.
• DTD syntax provides 5 symbols used to describe manners of
  combination.
• Assume e1, e2 and e3 to be elements:
   – e1?       : ? means none or one element e1.
   – e1*       : * means none, one or more element e1.
   – e1+       : + means one or more than one element e1.
   – e1, e2, e3        : , means list of element are chained.
   – e1 | e2: means e1 or e2 can be chosen but not both.



                      e-Government Lifelong Learning            20
address element can have this structure, [2]



                                    address
                                                                      Mandatory
                   n          1        1          1         1         Optional

 name             street           city       Postal-code   country   Containment
                                                                      Relationship


0..1          1              1

  title   First-name       Last-name

                                           Source, [2]




                                 e-Government Lifelong Learning                      21
A DTD describing the address structure, [2]

<?xml version=“1.0” encoding=“UTF-16”?>
<!DOCTYPE   address [
<!ELEMENT   address (name+, street, city, postal-code,
country)>
<!ELEMENT   name (title?, first-name, last-name)>
<!ELEMENT   title (#PCDATA)>
<!ELEMENT   first-name (#PCDATA)>
<!ELEMENT   last-name (#PCDATA)>
<!ELEMENT   street (#PCDATA)>
<!ELEMENT   city (#PCDATA)>
<!ELEMENT   postal-code(#PCDATA)>
<!ELEMENT   country(#PCDATA)>
]>




                 e-Government Lifelong Learning     22
An instance document could be as shown here



<address>
      <name>
         <title selectTitle=“Mr”/>
         <first-name>Ahmad M.</first-name>
         <last-name>Ahmad</last-name>
      </name>
      <street>11 Alquds Street</street>
      <city>Ramallah</city>
      <postal-code>100</postal-code>
      <country>Palestine</country>
</address>




               e-Government Lifelong Learning     23
A valid address XML instance


<address targetAddress=“PS”>
      <name>
         <title selectTitle=“Mr”/>
         <first-name>Ahmad M.</first-name>
         <last-name>Ahmad</last-name>
      </name>
      <street>11 Alquds Street</street>
      <city>Ramallah</city>
      <postal-code>100</postal-code>
      <country>Palestine</country>
</address>




                e-Government Lifelong Learning   24
Session Outlines

  XML Overview
     XML document and Grammars
  XML information set
  XML Namespaces
  XML Schema




           e-Government Lifelong Learning   25
XML Namespaces

• XML processor must be able to differentiate our XML
  address instances from someone else’s address
  instances.
  – Identification using element type names is not sufficient.
• Some global naming mechanism is required.
• XML namespaces ensure that XML definitions are
  unique.
• Using XML namespaces, XML elements can be
  distinguished, even if they have identical names.
XML Namespaces concept


• An XML namespace comprises a collection of element
  type names & attribute names.
• An XML namespace, is identified by a URI reference.
• The collection of element type names & attribute names,
  belonging to the same namespace are identified by the
  namespace URI reference.
• See next slide for namespaces example!
Identical markup belonging to different namespaces




                           http://companyx.com/ns/orders

                                      <order>
                                   <order-number>
                                    <order-date>
                                       <name>
                                     <address>
                                                     http://clubx.com/ns/members
http://companyx.com/ns/employees
                                                              <member>
        <employee-id>                                       <member-id>
        <dept-number>                                      <member-since>
            <name>                                             <name>
          <address>                                          <address>


                          Source, [2], with modifications
Qualified names


• A name from a namespace appears in a document as a
  qualified name (Qname).
• A Qname consists of a prefix and a local part.
• e.g. cX is the prefix and address is the local part:
  cX:address
• Prefix selects the namespace and local part take care
  of the naming within the scope of the namespace.
Declaring XML namespaces


• Done through the reserved namespace attribute xmlns.
• Also, can be done through xmlns: followed by a name
  without colons.
• The value of the namespace attribute is the URI reference.
• Linking a namespace to a prefix, e.g.:
  <address xmlns:cX=“http://companyx.com/ns/employees”>
   – cX is the prefix for all qualified names belonging to the namespace
• Using a default namespace, e.g.:
  <address xmlns=“http://companyx.com/ns/employees”>
   – All subordinate elements are in the same default namespace, unless a
     subordinate element overwrites the default namespace.
Declaring a namespace for the address document,
     using prefix namespace attribute


<cX:address xmlns:cX=“http://companyx.com/ns/employees”
         targetAddress=“PS”>
      <cX:name>
         <cX:title selectTitle=“Mr”/>
         <cX:first-name>Ahmad M.</cX:first-name>
         <cX:last-name>Ahmad</cX:last-name>
      </cX:name>
      <cX:street>11 Alquds Street</cX:street>
      <cX:city>Ramallah</cX:city>
      <cX:postal-code>100</cX:postal-code>
      <cX:country>Palestine</cX:country>
</cX:address>
Using a default namespace name declaration



<address xmlns=“http://companyx.com/ns/employees”
         targetAddress=“PS”>
      <name>
         <title selectTitle=“Mr”/>
         <first-name>Ahmad M.</first-name>
         <last-name>Ahmad</last-name>
      </name>
      <street>11 Alquds Street</street>
      <city>Ramallah</city>
      <postal-code>100</postal-code>
      <country>Palestine</country>
</address>
An example for an entry of the phone book
      maintained by the company


<phonebook xmlns=“http://companyx.com/ns/phonebook”
      <location>Company X Office</location>
      <roomNumber>03.02</roomNumber>
      <!–- Extension -->
      <officePhone>*2911111</officePhone>
</phoneBook>
XML namespaces and attributes


  • Default namespaces are not applied to attributes that do not
    have a prefix.
  • The following example is a valid XML instance.
     – Although the local part of the location element attribute is Identical.


<!-- Declare a namespace prefix
<phoneOwner xmlns:phone=“http://companyx.com/ns/phonebook”
  <!-- for illustrative purposes, not a good XML practice. -->
  <phonebook xmlns=“http://companyx.com/ns/phonebook”
      <location department=“HR” phone:department=“HR”>
        Company X Office</location>
  </phoneBook>
</phoneOwner>
Session Outlines

  XML Overview
     XML document and Grammars
  XML information set
  XML Namespaces
  XML Schema




           e-Government Lifelong Learning   35
XML schema


• If we want to insert the roomNumber element to the phone
  book as follows:
   – A roomNumber value must start with 2 digits describing the building
     floor, followed by a dot.
   – Then, a 2 more digits to represent the room number on that floor.
• No way to specify this pattern through a DTD.
• XML schema allows us to express such a constraints.
• Various data types can be defined with XML schema and new
  data types can be derived from existing ones.
An initial XML schema example

                                                                    Type definition



It is a simple type         <simpleType name=“roomNumberType”>
based on XML schema
                               <restriction base=“string”>
built-in type “string”
restricting the string to          <pattern value=“[0-9]{2}.[0-9]{2}”/>
a distinct string pattern      </restriction>
(the string pattern is      </simpleType>
also called a facet)
                            <element name=“roomNumber” type=“roomNumberType”/>

                                              Element declaration


                      The element named
                      roomNumber is of type
                      roomNumberType               Source, [2]
The structure of an XML schema definition


• An XML Schema Definition (XSD) is itself an XML instance.
   – An advantage of the XML schema.
• The top element of the xsd is name schema.
• The XML namespace for a schema definition              is
  http://www.w3.org/2001/XMLSchema, linked               to
  prefix xsd. Start a schema definition as:
  <xsd:schema
       xmlns:xsd=“http://www.w3.org/2001/XMLSchema”>
  .. .. </xsd:schema>
Some of subordinate element types of schema
      element.

• element: declares an element used in an XML instance.
• attribute: declares an attribute used in an XML instance.
• simpleType: this element defines a simple type, which is an
  XML schema built-in type.
• complexType: this definition typically contains XML
  elements and carry attributes, all declared within the type
  definition.
XML schema containment structure of a simple
        type definition


• Only one exclusive element must be contained in the superior
  element.

                                   simpleType
                                                                              Mandatory
                         0..1                         0..1
                                          0..1                                Optional

                                                                              Exclusive
       restriction                     list                  union
                                                                              Containment
                                                                              Relationship
             n                            n                      n


    “an approppriate
      “an approppriate          “an approppriate
                                  “an approppriate      “an approppriate
                                                         “an approppriate
         facet”
           facet”                    facet”
                                       facet”                 facet”
                                                               facet”

     12 applicable facets       6 applicable facets     2 applicable facets

                                              Source, [2]
Attribute links between simple type XML schema
        elements



                            restriction                             Linked-to
                base                             base               Relationship

XML Schema       itemType                 itemType      “a simple
                               list
Built-in type                                             type”



     memberTypes                                 memberTypes
                              union




                                   Source, [2]
A type definition for the title element

  <xsd: simpleType name=“titleTypeUK”>
     <xsd:restriction base=“xsd:string”>
         <xsd:enumeration value=“Miss”/>
         <xsd:enumeration value=“Mr”/>
         <xsd:enumeration value=“Mrs”/>
         <xsd:enumeration value=“Ms”/>
     </xsd:restriction>
  </xsd:simpleType>

  Global elements may appear at the top level of an XML
                       instance:
<xsd:schema xmlns:xsd=“http://www.w3.org/2001/XMLSchema”>
       . . .
       <!–- “titleTypeUK” definition goes here -->
       <xsd:element name=“title” type=“tns:titleTypeUK”/>
</xsd:schema>
A type definition for the first-name element


<xsd: simpleType name=“firstNameType”>
   <xsd:restriction base=“xsd:string”>
      <xsd:pattern value=“[A-Z][a-z]*”/>
   </xsd:restriction>
</xsd:simpleType>


         minLength and maxLength
<xsd: simpleType name=“firstNameType”>
   <xsd:restriction base=“xsd:string”>
      <xsd:pattern value=“[A-Z][a-z]*”/>
      <xsd:minLength value=“2”/>
      <xsd:maxLength value=“20”/>
   </xsd:restriction>
</xsd:simpleType>
XML schema containment structure of a complex
         type definition


• Only one exclusive element must be contained in the superior
  element. And an arbitrary number of attribute.

                              complexType
                                                                      Mandatory
                  n        0..1       0..1        0..1     0..1       Optional
   Attribute/
   Attribute    sequence      choice              all      group      Exclusive
    group
                                                                      Containment
                                                                      Relationship
                 n                n               n          n

                element
                 element     element
                              element           element
                                                 element   element
                                                            element



                                             Source, [2]
Complex type definitions

• The following XML schema presents a group named
  nameGroup that is referred to within a complex type
  definition, [2].

<!-- this is the named group definition.
<xsd:group name=“nameGroup”>
  <xsd:sequence>
    <!-- Here is the type definition of a name -->
  </xsd:sequence>
</xsd:group>
<!-- Here the named group if referred to within a complex type. -->
<xsd:complexType name=“addressType”>
 <xsd:sequence>
    <!-- Here is the reference to the above defined group -->
    <xsd:group ref=“nameGroup”/>
       . . .
  </xsd:sequence>
</xsd:complexType>
XML schema containment structure for deriving
        types by extension

• simpleContent and complexContent elements must be
  superior to either restriction or extension elements.

                          complexType


                0..1                             0..1               Mandatory
                Simple                      Complex                 Exclusive
                Content                     Content
                                                                    Containment
                                                                    Relationship

     0..1                 0..1           0..1              0..1

  restriction     extension             restriction     extension


                           Source, [2]
Linking XML schemas to XML instances


• schemaLocation attribute contains value pairs:
   – The first value is a namespace.
   – The second, provides a link to the schema used for validating elements and
     attributes contained in this namespace.
Linking schemas to instances

• To link the address document instance to the address schema
  via the schemaLocation attribute, we need to add this
  attribute to the instance document.
                             Example

<cX:address
  xmlns:cX=“http://companyx.com/ns/employees”
  xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance
  xsi:schemaLocation=“http://companyx.com/ns/employees
                      http://localhost/address.xsd”>
       . . .
  <!--   the first URI defines the namespace for elements and    -->
  <!--   attributes in this document, for which the second URI   -->
  <!--   points to the schema location of the schema that        -->
  <!--   can be used to validate these elements and attributes   -->
</cX:address>
Summary


During this session we have explained with examples the
    following:
   1.   XML namespaces
   2.   XML schema

Next session will cover Xpath and Xquery.
References

1. Bray T, Paoli J, Sperberg-McQueen C M, Maler E. Extensible Markup Language
   (XML) 1.0 (Second Edition), W3C Recommendation 6 October 2000,
   http://www.w3.org/TR/REC-xml, 2000.
2. Olaf Zimmermann, Mark Tomlinson, Stefan Peuser, “Perspectives on Web services-
   Applying SOAP, WSDL and UDDI to real-world projects, 2nd edition, Springer, 2005.
Thanks
Mohammed Aldasht

Weitere ähnliche Inhalte

Was ist angesagt?

Pal gov.tutorial3.session6.soap
Pal gov.tutorial3.session6.soapPal gov.tutorial3.session6.soap
Pal gov.tutorial3.session6.soapMustafa Jarrar
 
Pal gov.tutorial2.session5 2.rdfs_jarrar
Pal gov.tutorial2.session5 2.rdfs_jarrarPal gov.tutorial2.session5 2.rdfs_jarrar
Pal gov.tutorial2.session5 2.rdfs_jarrarMustafa Jarrar
 
Pal gov.tutorial2.session15 2.rd_fa
Pal gov.tutorial2.session15 2.rd_faPal gov.tutorial2.session15 2.rd_fa
Pal gov.tutorial2.session15 2.rd_faMustafa Jarrar
 
Pal gov.tutorial2.session0.outline
Pal gov.tutorial2.session0.outlinePal gov.tutorial2.session0.outline
Pal gov.tutorial2.session0.outlineMustafa Jarrar
 
Pal gov.tutorial2.session13 2.gav and lav integration
Pal gov.tutorial2.session13 2.gav and lav integrationPal gov.tutorial2.session13 2.gav and lav integration
Pal gov.tutorial2.session13 2.gav and lav integrationMustafa Jarrar
 
Pal gov.tutorial2.session7.owl
Pal gov.tutorial2.session7.owlPal gov.tutorial2.session7.owl
Pal gov.tutorial2.session7.owlMustafa Jarrar
 
Pal gov.tutorial2.session7
Pal gov.tutorial2.session7Pal gov.tutorial2.session7
Pal gov.tutorial2.session7Mustafa Jarrar
 
Pal gov.tutorial2.session13 3.data integration and fusion using rdf
Pal gov.tutorial2.session13 3.data integration and fusion using rdfPal gov.tutorial2.session13 3.data integration and fusion using rdf
Pal gov.tutorial2.session13 3.data integration and fusion using rdfMustafa Jarrar
 
Pal gov.tutorial2.session10.sparql
Pal gov.tutorial2.session10.sparqlPal gov.tutorial2.session10.sparql
Pal gov.tutorial2.session10.sparqlMustafa Jarrar
 
Pal gov.tutorial2.session9.lab rdf-stores
Pal gov.tutorial2.session9.lab rdf-storesPal gov.tutorial2.session9.lab rdf-stores
Pal gov.tutorial2.session9.lab rdf-storesMustafa Jarrar
 
Pal gov.tutorial2.session11.oracle
Pal gov.tutorial2.session11.oraclePal gov.tutorial2.session11.oracle
Pal gov.tutorial2.session11.oracleMustafa Jarrar
 
Pal gov.tutorial2.session4.lab xml document and schemas
Pal gov.tutorial2.session4.lab xml  document and schemasPal gov.tutorial2.session4.lab xml  document and schemas
Pal gov.tutorial2.session4.lab xml document and schemasMustafa Jarrar
 
Pal gov.tutorial2.session8.lab owl
Pal gov.tutorial2.session8.lab owlPal gov.tutorial2.session8.lab owl
Pal gov.tutorial2.session8.lab owlMustafa Jarrar
 
Pal gov.tutorial3.session4.rest
Pal gov.tutorial3.session4.restPal gov.tutorial3.session4.rest
Pal gov.tutorial3.session4.restMustafa Jarrar
 
Pal gov.tutorial2.session16.lab rd-fa
Pal gov.tutorial2.session16.lab rd-faPal gov.tutorial2.session16.lab rd-fa
Pal gov.tutorial2.session16.lab rd-faMustafa Jarrar
 
Pal gov.tutorial2.session14.lab rdf-dataintegration
Pal gov.tutorial2.session14.lab rdf-dataintegrationPal gov.tutorial2.session14.lab rdf-dataintegration
Pal gov.tutorial2.session14.lab rdf-dataintegrationMustafa Jarrar
 
Pal gov.tutorial2.session15 1.linkeddata
Pal gov.tutorial2.session15 1.linkeddataPal gov.tutorial2.session15 1.linkeddata
Pal gov.tutorial2.session15 1.linkeddataMustafa Jarrar
 
JNDI, JMS, JPA, XML
JNDI, JMS, JPA, XMLJNDI, JMS, JPA, XML
JNDI, JMS, JPA, XMLKumar
 
B vb script11
B vb script11B vb script11
B vb script11oakhrd
 

Was ist angesagt? (20)

Pal gov.tutorial3.session6.soap
Pal gov.tutorial3.session6.soapPal gov.tutorial3.session6.soap
Pal gov.tutorial3.session6.soap
 
Pal gov.tutorial2.session5 2.rdfs_jarrar
Pal gov.tutorial2.session5 2.rdfs_jarrarPal gov.tutorial2.session5 2.rdfs_jarrar
Pal gov.tutorial2.session5 2.rdfs_jarrar
 
Pal gov.tutorial2.session15 2.rd_fa
Pal gov.tutorial2.session15 2.rd_faPal gov.tutorial2.session15 2.rd_fa
Pal gov.tutorial2.session15 2.rd_fa
 
Pal gov.tutorial2.session0.outline
Pal gov.tutorial2.session0.outlinePal gov.tutorial2.session0.outline
Pal gov.tutorial2.session0.outline
 
Pal gov.tutorial2.session13 2.gav and lav integration
Pal gov.tutorial2.session13 2.gav and lav integrationPal gov.tutorial2.session13 2.gav and lav integration
Pal gov.tutorial2.session13 2.gav and lav integration
 
Pal gov.tutorial2.session7.owl
Pal gov.tutorial2.session7.owlPal gov.tutorial2.session7.owl
Pal gov.tutorial2.session7.owl
 
Pal gov.tutorial2.session7
Pal gov.tutorial2.session7Pal gov.tutorial2.session7
Pal gov.tutorial2.session7
 
Pal gov.tutorial2.session13 3.data integration and fusion using rdf
Pal gov.tutorial2.session13 3.data integration and fusion using rdfPal gov.tutorial2.session13 3.data integration and fusion using rdf
Pal gov.tutorial2.session13 3.data integration and fusion using rdf
 
Pal gov.tutorial2.session10.sparql
Pal gov.tutorial2.session10.sparqlPal gov.tutorial2.session10.sparql
Pal gov.tutorial2.session10.sparql
 
Pal gov.tutorial2.session9.lab rdf-stores
Pal gov.tutorial2.session9.lab rdf-storesPal gov.tutorial2.session9.lab rdf-stores
Pal gov.tutorial2.session9.lab rdf-stores
 
Pal gov.tutorial2.session11.oracle
Pal gov.tutorial2.session11.oraclePal gov.tutorial2.session11.oracle
Pal gov.tutorial2.session11.oracle
 
Pal gov.tutorial2.session4.lab xml document and schemas
Pal gov.tutorial2.session4.lab xml  document and schemasPal gov.tutorial2.session4.lab xml  document and schemas
Pal gov.tutorial2.session4.lab xml document and schemas
 
Pal gov.tutorial2.session8.lab owl
Pal gov.tutorial2.session8.lab owlPal gov.tutorial2.session8.lab owl
Pal gov.tutorial2.session8.lab owl
 
Pal gov.tutorial3.session4.rest
Pal gov.tutorial3.session4.restPal gov.tutorial3.session4.rest
Pal gov.tutorial3.session4.rest
 
Pal gov.tutorial2.session16.lab rd-fa
Pal gov.tutorial2.session16.lab rd-faPal gov.tutorial2.session16.lab rd-fa
Pal gov.tutorial2.session16.lab rd-fa
 
Pal gov.tutorial2.session14.lab rdf-dataintegration
Pal gov.tutorial2.session14.lab rdf-dataintegrationPal gov.tutorial2.session14.lab rdf-dataintegration
Pal gov.tutorial2.session14.lab rdf-dataintegration
 
Pal gov.tutorial2.session15 1.linkeddata
Pal gov.tutorial2.session15 1.linkeddataPal gov.tutorial2.session15 1.linkeddata
Pal gov.tutorial2.session15 1.linkeddata
 
Java
JavaJava
Java
 
JNDI, JMS, JPA, XML
JNDI, JMS, JPA, XMLJNDI, JMS, JPA, XML
JNDI, JMS, JPA, XML
 
B vb script11
B vb script11B vb script11
B vb script11
 

Andere mochten auch

Pal gov.tutorial3.session10.lab4
Pal gov.tutorial3.session10.lab4Pal gov.tutorial3.session10.lab4
Pal gov.tutorial3.session10.lab4Mustafa Jarrar
 
Pal gov.tutorial3.session5.lab2
Pal gov.tutorial3.session5.lab2Pal gov.tutorial3.session5.lab2
Pal gov.tutorial3.session5.lab2Mustafa Jarrar
 
Pal gov.tutorial3.session1.soa
Pal gov.tutorial3.session1.soaPal gov.tutorial3.session1.soa
Pal gov.tutorial3.session1.soaMustafa Jarrar
 
Pal gov.tutorial3.session8.lab3
Pal gov.tutorial3.session8.lab3Pal gov.tutorial3.session8.lab3
Pal gov.tutorial3.session8.lab3Mustafa Jarrar
 
Pal gov.tutorial3.session15.uddi
Pal gov.tutorial3.session15.uddiPal gov.tutorial3.session15.uddi
Pal gov.tutorial3.session15.uddiMustafa Jarrar
 
Pal gov.tutorial3.session11.integration.patterns
Pal gov.tutorial3.session11.integration.patternsPal gov.tutorial3.session11.integration.patterns
Pal gov.tutorial3.session11.integration.patternsMustafa Jarrar
 
Pal gov.tutorial3.session12.lab5
Pal gov.tutorial3.session12.lab5Pal gov.tutorial3.session12.lab5
Pal gov.tutorial3.session12.lab5Mustafa Jarrar
 
Pal gov.tutorial3.session9.esb
Pal gov.tutorial3.session9.esbPal gov.tutorial3.session9.esb
Pal gov.tutorial3.session9.esbMustafa Jarrar
 
Pal gov.tutorial3.session14.lab6
Pal gov.tutorial3.session14.lab6Pal gov.tutorial3.session14.lab6
Pal gov.tutorial3.session14.lab6Mustafa Jarrar
 
Pal gov.tutorial3.session13.bpel
Pal gov.tutorial3.session13.bpelPal gov.tutorial3.session13.bpel
Pal gov.tutorial3.session13.bpelMustafa Jarrar
 
Pal gov.tutorial3.session7
Pal gov.tutorial3.session7Pal gov.tutorial3.session7
Pal gov.tutorial3.session7Mustafa Jarrar
 
Pal gov.tutorial1.session13 14
Pal gov.tutorial1.session13 14Pal gov.tutorial1.session13 14
Pal gov.tutorial1.session13 14Mustafa Jarrar
 
Business Process Modeling Notation Fundamentals
Business Process Modeling Notation FundamentalsBusiness Process Modeling Notation Fundamentals
Business Process Modeling Notation FundamentalsMustafa Jarrar
 

Andere mochten auch (13)

Pal gov.tutorial3.session10.lab4
Pal gov.tutorial3.session10.lab4Pal gov.tutorial3.session10.lab4
Pal gov.tutorial3.session10.lab4
 
Pal gov.tutorial3.session5.lab2
Pal gov.tutorial3.session5.lab2Pal gov.tutorial3.session5.lab2
Pal gov.tutorial3.session5.lab2
 
Pal gov.tutorial3.session1.soa
Pal gov.tutorial3.session1.soaPal gov.tutorial3.session1.soa
Pal gov.tutorial3.session1.soa
 
Pal gov.tutorial3.session8.lab3
Pal gov.tutorial3.session8.lab3Pal gov.tutorial3.session8.lab3
Pal gov.tutorial3.session8.lab3
 
Pal gov.tutorial3.session15.uddi
Pal gov.tutorial3.session15.uddiPal gov.tutorial3.session15.uddi
Pal gov.tutorial3.session15.uddi
 
Pal gov.tutorial3.session11.integration.patterns
Pal gov.tutorial3.session11.integration.patternsPal gov.tutorial3.session11.integration.patterns
Pal gov.tutorial3.session11.integration.patterns
 
Pal gov.tutorial3.session12.lab5
Pal gov.tutorial3.session12.lab5Pal gov.tutorial3.session12.lab5
Pal gov.tutorial3.session12.lab5
 
Pal gov.tutorial3.session9.esb
Pal gov.tutorial3.session9.esbPal gov.tutorial3.session9.esb
Pal gov.tutorial3.session9.esb
 
Pal gov.tutorial3.session14.lab6
Pal gov.tutorial3.session14.lab6Pal gov.tutorial3.session14.lab6
Pal gov.tutorial3.session14.lab6
 
Pal gov.tutorial3.session13.bpel
Pal gov.tutorial3.session13.bpelPal gov.tutorial3.session13.bpel
Pal gov.tutorial3.session13.bpel
 
Pal gov.tutorial3.session7
Pal gov.tutorial3.session7Pal gov.tutorial3.session7
Pal gov.tutorial3.session7
 
Pal gov.tutorial1.session13 14
Pal gov.tutorial1.session13 14Pal gov.tutorial1.session13 14
Pal gov.tutorial1.session13 14
 
Business Process Modeling Notation Fundamentals
Business Process Modeling Notation FundamentalsBusiness Process Modeling Notation Fundamentals
Business Process Modeling Notation Fundamentals
 

Mehr von Mustafa Jarrar

Clustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisClustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisMustafa Jarrar
 
Classifying Processes and Basic Formal Ontology
Classifying Processes  and Basic Formal OntologyClassifying Processes  and Basic Formal Ontology
Classifying Processes and Basic Formal OntologyMustafa Jarrar
 
Discrete Mathematics Course Outline
Discrete Mathematics Course OutlineDiscrete Mathematics Course Outline
Discrete Mathematics Course OutlineMustafa Jarrar
 
Business Process Implementation
Business Process ImplementationBusiness Process Implementation
Business Process ImplementationMustafa Jarrar
 
Business Process Design and Re-engineering
Business Process Design and Re-engineeringBusiness Process Design and Re-engineering
Business Process Design and Re-engineeringMustafa Jarrar
 
BPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsBPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsMustafa Jarrar
 
BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs  BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs Mustafa Jarrar
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process ManagementMustafa Jarrar
 
Customer Complaint Ontology
Customer Complaint Ontology Customer Complaint Ontology
Customer Complaint Ontology Mustafa Jarrar
 
Subset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesSubset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesMustafa Jarrar
 
Schema Modularization in ORM
Schema Modularization in ORMSchema Modularization in ORM
Schema Modularization in ORMMustafa Jarrar
 
On Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineOn Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineMustafa Jarrar
 
Lessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesLessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesMustafa Jarrar
 
Presentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalPresentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalMustafa Jarrar
 
Jarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsJarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsMustafa Jarrar
 
Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingMustafa Jarrar
 
Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Mustafa Jarrar
 
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsRiestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsMustafa Jarrar
 
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Mustafa Jarrar
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql ProjectMustafa Jarrar
 

Mehr von Mustafa Jarrar (20)

Clustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisClustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment Analysis
 
Classifying Processes and Basic Formal Ontology
Classifying Processes  and Basic Formal OntologyClassifying Processes  and Basic Formal Ontology
Classifying Processes and Basic Formal Ontology
 
Discrete Mathematics Course Outline
Discrete Mathematics Course OutlineDiscrete Mathematics Course Outline
Discrete Mathematics Course Outline
 
Business Process Implementation
Business Process ImplementationBusiness Process Implementation
Business Process Implementation
 
Business Process Design and Re-engineering
Business Process Design and Re-engineeringBusiness Process Design and Re-engineering
Business Process Design and Re-engineering
 
BPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsBPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical Constructs
 
BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs  BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process Management
 
Customer Complaint Ontology
Customer Complaint Ontology Customer Complaint Ontology
Customer Complaint Ontology
 
Subset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesSubset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion Rules
 
Schema Modularization in ORM
Schema Modularization in ORMSchema Modularization in ORM
Schema Modularization in ORM
 
On Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineOn Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in Palestine
 
Lessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesLessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online Courses
 
Presentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalPresentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-final
 
Jarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsJarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 Calls
 
Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language Processing
 
Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing
 
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsRiestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
 
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql Project
 

Kürzlich hochgeladen

Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 

Kürzlich hochgeladen (20)

Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 

Pal gov.tutorial3.session2.xml ns and schema

  • 1. ‫أكاديمية الحكومة اإللكترونية الفلسطينية‬ The Palestinian eGovernment Academy www.egovacademy.ps Tutorial III: Process Integration and Service Oriented Architectures Session 2 Overview XML NS and Schema Prepared By Mohammed Aldasht Reviewed by Prof. Marco Ronchetti and Prof. Paolo Bouquet, Trento University, Italy PalGov © 2011 1
  • 2. About This tutorial is part of the PalGov project, funded by the TEMPUS IV program of the Commission of the European Communities, grant agreement 511159-TEMPUS-1- 2010-1-PS-TEMPUS-JPHES. The project website: www.egovacademy.ps Project Consortium: Birzeit University, Palestine University of Trento, Italy (Coordinator ) Palestine Polytechnic University, Palestine Vrije Universiteit Brussel, Belgium Palestine Technical University, Palestine Université de Savoie, France Ministry of Telecom and IT, Palestine University of Namur, Belgium Ministry of Interior, Palestine TrueTrust, UK Ministry of Local Government, Palestine Coordinator: Dr. Mustafa Jarrar Birzeit University, P.O.Box 14- Birzeit, Palestine Telfax:+972 2 2982935 mjarrar@birzeit.eduPalGov © 2011 2
  • 3. © Copyright Notes Everyone is encouraged to use this material, or part of it, but should properly cite the project (logo and website), and the author of that part. No part of this tutorial may be reproduced or modified in any form or by any means, without prior written permission from the project, who have the full copyrights on the material. Attribution-NonCommercial-ShareAlike CC-BY-NC-SA This license lets others remix, tweak, and build upon your work non- commercially, as long as they credit you and license their new creations under the identical terms. PalGov © 2011 3
  • 4. Tutorial Map Intended Learning Objectives A: Knowledge and Understanding Title T Name 3a1: Demonstrate knowledge of the fundamentals of middleware. 3a2: Describe the concept behind web service protocols. Session0: Syllabus and overview 0 Aldasht 3a3: Explain the concept of service oriented architecture. Sesson1: Introduction to SOA 2 Aldasht 3a4: Explain the concept of enterprise service bus. Session2: XML namespaces & XML schema 2 Aldasht 3a5: Understanding WSDL service interfaces in UDDI. Session 3: Xpath & Xquery 4 Romi B: Intellectual Skills Session4: REST web services 3 M. Melhem 3b1: Design, develop, and deploy applications based on Service Session5: Lab2: Practice on REST 3 M. Melhem Oriented Architecture (SOA). Session 6: SOAP 2 Aldasht 3b2: use Business Process Execution Language (BPEL). Session 7: WSDL 3 Aldasht 3b3: using WSDL to describe web services. Session8: Lab 3: WSDL practice 3 Aldasht C: Professional and Practical Skills Session9: ESB 4 Aldasht 3c1: setup, Invoke, and deploy web services using integrated Session10: Lab4: Practice on ESB 4 Aldasht development environment. Session11: integration patterns 4 M. Melhem 3c2: construct and use REST and SOAP messages for web services communication. Session12: Lab5: integration patterns 4 M. Melhem D: General and Transferable Skills Session13: BPEL 3 Aldasht d1: Working with team. Session14: Lab6: Practice on BPEL 3 Aldasht d2: Presenting and defending ideas. Session15: UDDI 2 Aldasht d3: Use of creativity and innovation in problem solving. d4: Develop communication skills and logical reasoning abilities.
  • 5. Session Outlines  XML Overview  XML document and Grammars  XML information set  XML Namespaces  XML Schema e-Government Lifelong Learning 5
  • 6. Overview • XML is a markup language, like HTML, consists of markup and text. • Markup is composed of individual tags. • Both HTML and XML are languages for exchanging data, but there is a difference between them. • See next slide for and initial XML example. e-Government Lifelong Learning 6
  • 7. Valid and well-formed XML document • Valid XML document is one that comply with the constraints expressed through a given grammar. • A well-formed XML document is one that comply with XML syntax expressed in the XML standard. – But not associated with a distinct grammar. e-Government Lifelong Learning 7
  • 8. XML grammars • Specified by two dominant concepts: – XML schema and Document Type Definitions (DTDs) • XML schema is powerful to express structural XML document constraints than DTDs. • XML document complying with a DTD or a schema is called and XML instance or instance document. • See next slide, for the relationship between XML document grammar and XML instances resulting from applying the grammar. e-Government Lifelong Learning 8
  • 9. XML document grammar and valid XML instances, [2] XML Instance, XML Schema, DTD XML Instance, Instance Document (XML Document Grammar) XML Instance, Instance Document XML Instance, Instance Document Valid Instance Document Documents e-Government Lifelong Learning 9
  • 10. XML processor • Applications are interested in the structural information and the XML instance, when XML is used to exchange data between them. XML Application • XML processor, e.g. SOAP server, XML Schema, must validate the XML documents XML Processor DTD against the XML grammar and XML Instance XML Instance pass the XML instance structure XML Instance and payload to the application, e.g. SOAP message. A validating XML processor, [2] e-Government Lifelong Learning 10
  • 11. Session Outlines  XML Overview  XML document and Grammars  XML information set  XML Namespaces  XML Schema e-Government Lifelong Learning 11
  • 12. XML information set • XML info set, provides a set of abstract data definitions to represent the information in a well-formed XML document. – Each well-formed XML document has an associated info set. • The information set consists of information items. – Each item describes an XML document part through a set of named properties e-Government Lifelong Learning 12
  • 13. Information item types of an XML information set, [2] document Property children Property attribute document type element declaration Character attribute data e-Government Lifelong Learning 13
  • 14. Information item types of an XML information set • document, consists at least of one mandatory root element, and: – XML version info (optional) & encoding info for the document. These are called XML declaration. – Document type declaration: contains markup declarations provide the grammar. – These together is called prolog. e-Government Lifelong Learning 14
  • 15. Information item types of an XML information set, cont. • element: identified by a name and has a set of associated attributes. • attribute: consists of a name and an associated value. • character data: is an information item comprises the payload of an XML document. • comment: element and document information items may contain comments. e-Government Lifelong Learning 15
  • 16. Information item types examples [2] • Comment info item “may span multiple lines”: – <!– This is a comment --> • Element info item: – element may have no content e.g.: <address/> or <address></address> <address> <name>Mr Ahmad Ahmad</name> <street>11 Alquds Street</street> <city>Ramallah</city> <postal-code>100</postal-code> <country>Palestine</country> </address> e-Government Lifelong Learning 16
  • 17. Information item types examples [2] • An attribute is specified in the start tag of an element and consists of a name-value pair. – This example links an attribute named targetAddress with the “PS” to the address elements: <address targetAddress=“PS”> <name>Mr Ahmad Ahmad</name> <street>11 Alquds Street</street> <city>Ramallah</city> <postal-code>100</postal-code> <country>Palestine</country> </address> e-Government Lifelong Learning 17
  • 18. Information item types examples [2] • Document info item: look to the following prolog: <?xml version=“1.0” encoding=UTF-16”?> <! DOCTYPE address [<!– DTDs go here --> ]> <address> <!– XML instances go here --> </address> • Document type declaration identified by keyword DOCTYPE must be identical to the corresponding root element e-Government Lifelong Learning 18
  • 19. Information item types examples • element content: if declared to be character data, this is indicated by the term #PCDATA. “Parsed Character Data” – Thus, a valid declaration would be: <?xml version=“1.0” encoding=UTF-16”?> <! DOCTYPE address [<!ELEMENT address (#PCDATA)> ]> • In an XML instance the address element could appear as follows: <address> Mr Ahmad Ahmad 11 Alquds Street Ramallah 100 Palestine </address> e-Government Lifelong Learning 19
  • 20. Element content and mixed content • We can combine elements and build nested element declarations. • DTD syntax provides 5 symbols used to describe manners of combination. • Assume e1, e2 and e3 to be elements: – e1? : ? means none or one element e1. – e1* : * means none, one or more element e1. – e1+ : + means one or more than one element e1. – e1, e2, e3 : , means list of element are chained. – e1 | e2: means e1 or e2 can be chosen but not both. e-Government Lifelong Learning 20
  • 21. address element can have this structure, [2] address Mandatory n 1 1 1 1 Optional name street city Postal-code country Containment Relationship 0..1 1 1 title First-name Last-name Source, [2] e-Government Lifelong Learning 21
  • 22. A DTD describing the address structure, [2] <?xml version=“1.0” encoding=“UTF-16”?> <!DOCTYPE address [ <!ELEMENT address (name+, street, city, postal-code, country)> <!ELEMENT name (title?, first-name, last-name)> <!ELEMENT title (#PCDATA)> <!ELEMENT first-name (#PCDATA)> <!ELEMENT last-name (#PCDATA)> <!ELEMENT street (#PCDATA)> <!ELEMENT city (#PCDATA)> <!ELEMENT postal-code(#PCDATA)> <!ELEMENT country(#PCDATA)> ]> e-Government Lifelong Learning 22
  • 23. An instance document could be as shown here <address> <name> <title selectTitle=“Mr”/> <first-name>Ahmad M.</first-name> <last-name>Ahmad</last-name> </name> <street>11 Alquds Street</street> <city>Ramallah</city> <postal-code>100</postal-code> <country>Palestine</country> </address> e-Government Lifelong Learning 23
  • 24. A valid address XML instance <address targetAddress=“PS”> <name> <title selectTitle=“Mr”/> <first-name>Ahmad M.</first-name> <last-name>Ahmad</last-name> </name> <street>11 Alquds Street</street> <city>Ramallah</city> <postal-code>100</postal-code> <country>Palestine</country> </address> e-Government Lifelong Learning 24
  • 25. Session Outlines  XML Overview  XML document and Grammars  XML information set  XML Namespaces  XML Schema e-Government Lifelong Learning 25
  • 26. XML Namespaces • XML processor must be able to differentiate our XML address instances from someone else’s address instances. – Identification using element type names is not sufficient. • Some global naming mechanism is required. • XML namespaces ensure that XML definitions are unique. • Using XML namespaces, XML elements can be distinguished, even if they have identical names.
  • 27. XML Namespaces concept • An XML namespace comprises a collection of element type names & attribute names. • An XML namespace, is identified by a URI reference. • The collection of element type names & attribute names, belonging to the same namespace are identified by the namespace URI reference. • See next slide for namespaces example!
  • 28. Identical markup belonging to different namespaces http://companyx.com/ns/orders <order> <order-number> <order-date> <name> <address> http://clubx.com/ns/members http://companyx.com/ns/employees <member> <employee-id> <member-id> <dept-number> <member-since> <name> <name> <address> <address> Source, [2], with modifications
  • 29. Qualified names • A name from a namespace appears in a document as a qualified name (Qname). • A Qname consists of a prefix and a local part. • e.g. cX is the prefix and address is the local part: cX:address • Prefix selects the namespace and local part take care of the naming within the scope of the namespace.
  • 30. Declaring XML namespaces • Done through the reserved namespace attribute xmlns. • Also, can be done through xmlns: followed by a name without colons. • The value of the namespace attribute is the URI reference. • Linking a namespace to a prefix, e.g.: <address xmlns:cX=“http://companyx.com/ns/employees”> – cX is the prefix for all qualified names belonging to the namespace • Using a default namespace, e.g.: <address xmlns=“http://companyx.com/ns/employees”> – All subordinate elements are in the same default namespace, unless a subordinate element overwrites the default namespace.
  • 31. Declaring a namespace for the address document, using prefix namespace attribute <cX:address xmlns:cX=“http://companyx.com/ns/employees” targetAddress=“PS”> <cX:name> <cX:title selectTitle=“Mr”/> <cX:first-name>Ahmad M.</cX:first-name> <cX:last-name>Ahmad</cX:last-name> </cX:name> <cX:street>11 Alquds Street</cX:street> <cX:city>Ramallah</cX:city> <cX:postal-code>100</cX:postal-code> <cX:country>Palestine</cX:country> </cX:address>
  • 32. Using a default namespace name declaration <address xmlns=“http://companyx.com/ns/employees” targetAddress=“PS”> <name> <title selectTitle=“Mr”/> <first-name>Ahmad M.</first-name> <last-name>Ahmad</last-name> </name> <street>11 Alquds Street</street> <city>Ramallah</city> <postal-code>100</postal-code> <country>Palestine</country> </address>
  • 33. An example for an entry of the phone book maintained by the company <phonebook xmlns=“http://companyx.com/ns/phonebook” <location>Company X Office</location> <roomNumber>03.02</roomNumber> <!–- Extension --> <officePhone>*2911111</officePhone> </phoneBook>
  • 34. XML namespaces and attributes • Default namespaces are not applied to attributes that do not have a prefix. • The following example is a valid XML instance. – Although the local part of the location element attribute is Identical. <!-- Declare a namespace prefix <phoneOwner xmlns:phone=“http://companyx.com/ns/phonebook” <!-- for illustrative purposes, not a good XML practice. --> <phonebook xmlns=“http://companyx.com/ns/phonebook” <location department=“HR” phone:department=“HR”> Company X Office</location> </phoneBook> </phoneOwner>
  • 35. Session Outlines  XML Overview  XML document and Grammars  XML information set  XML Namespaces  XML Schema e-Government Lifelong Learning 35
  • 36. XML schema • If we want to insert the roomNumber element to the phone book as follows: – A roomNumber value must start with 2 digits describing the building floor, followed by a dot. – Then, a 2 more digits to represent the room number on that floor. • No way to specify this pattern through a DTD. • XML schema allows us to express such a constraints. • Various data types can be defined with XML schema and new data types can be derived from existing ones.
  • 37. An initial XML schema example Type definition It is a simple type <simpleType name=“roomNumberType”> based on XML schema <restriction base=“string”> built-in type “string” restricting the string to <pattern value=“[0-9]{2}.[0-9]{2}”/> a distinct string pattern </restriction> (the string pattern is </simpleType> also called a facet) <element name=“roomNumber” type=“roomNumberType”/> Element declaration The element named roomNumber is of type roomNumberType Source, [2]
  • 38. The structure of an XML schema definition • An XML Schema Definition (XSD) is itself an XML instance. – An advantage of the XML schema. • The top element of the xsd is name schema. • The XML namespace for a schema definition is http://www.w3.org/2001/XMLSchema, linked to prefix xsd. Start a schema definition as: <xsd:schema xmlns:xsd=“http://www.w3.org/2001/XMLSchema”> .. .. </xsd:schema>
  • 39. Some of subordinate element types of schema element. • element: declares an element used in an XML instance. • attribute: declares an attribute used in an XML instance. • simpleType: this element defines a simple type, which is an XML schema built-in type. • complexType: this definition typically contains XML elements and carry attributes, all declared within the type definition.
  • 40. XML schema containment structure of a simple type definition • Only one exclusive element must be contained in the superior element. simpleType Mandatory 0..1 0..1 0..1 Optional Exclusive restriction list union Containment Relationship n n n “an approppriate “an approppriate “an approppriate “an approppriate “an approppriate “an approppriate facet” facet” facet” facet” facet” facet” 12 applicable facets 6 applicable facets 2 applicable facets Source, [2]
  • 41. Attribute links between simple type XML schema elements restriction Linked-to base base Relationship XML Schema itemType itemType “a simple list Built-in type type” memberTypes memberTypes union Source, [2]
  • 42. A type definition for the title element <xsd: simpleType name=“titleTypeUK”> <xsd:restriction base=“xsd:string”> <xsd:enumeration value=“Miss”/> <xsd:enumeration value=“Mr”/> <xsd:enumeration value=“Mrs”/> <xsd:enumeration value=“Ms”/> </xsd:restriction> </xsd:simpleType> Global elements may appear at the top level of an XML instance: <xsd:schema xmlns:xsd=“http://www.w3.org/2001/XMLSchema”> . . . <!–- “titleTypeUK” definition goes here --> <xsd:element name=“title” type=“tns:titleTypeUK”/> </xsd:schema>
  • 43. A type definition for the first-name element <xsd: simpleType name=“firstNameType”> <xsd:restriction base=“xsd:string”> <xsd:pattern value=“[A-Z][a-z]*”/> </xsd:restriction> </xsd:simpleType> minLength and maxLength <xsd: simpleType name=“firstNameType”> <xsd:restriction base=“xsd:string”> <xsd:pattern value=“[A-Z][a-z]*”/> <xsd:minLength value=“2”/> <xsd:maxLength value=“20”/> </xsd:restriction> </xsd:simpleType>
  • 44. XML schema containment structure of a complex type definition • Only one exclusive element must be contained in the superior element. And an arbitrary number of attribute. complexType Mandatory n 0..1 0..1 0..1 0..1 Optional Attribute/ Attribute sequence choice all group Exclusive group Containment Relationship n n n n element element element element element element element element Source, [2]
  • 45. Complex type definitions • The following XML schema presents a group named nameGroup that is referred to within a complex type definition, [2]. <!-- this is the named group definition. <xsd:group name=“nameGroup”> <xsd:sequence> <!-- Here is the type definition of a name --> </xsd:sequence> </xsd:group> <!-- Here the named group if referred to within a complex type. --> <xsd:complexType name=“addressType”> <xsd:sequence> <!-- Here is the reference to the above defined group --> <xsd:group ref=“nameGroup”/> . . . </xsd:sequence> </xsd:complexType>
  • 46. XML schema containment structure for deriving types by extension • simpleContent and complexContent elements must be superior to either restriction or extension elements. complexType 0..1 0..1 Mandatory Simple Complex Exclusive Content Content Containment Relationship 0..1 0..1 0..1 0..1 restriction extension restriction extension Source, [2]
  • 47. Linking XML schemas to XML instances • schemaLocation attribute contains value pairs: – The first value is a namespace. – The second, provides a link to the schema used for validating elements and attributes contained in this namespace.
  • 48. Linking schemas to instances • To link the address document instance to the address schema via the schemaLocation attribute, we need to add this attribute to the instance document. Example <cX:address xmlns:cX=“http://companyx.com/ns/employees” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation=“http://companyx.com/ns/employees http://localhost/address.xsd”> . . . <!-- the first URI defines the namespace for elements and --> <!-- attributes in this document, for which the second URI --> <!-- points to the schema location of the schema that --> <!-- can be used to validate these elements and attributes --> </cX:address>
  • 49. Summary During this session we have explained with examples the following: 1. XML namespaces 2. XML schema Next session will cover Xpath and Xquery.
  • 50. References 1. Bray T, Paoli J, Sperberg-McQueen C M, Maler E. Extensible Markup Language (XML) 1.0 (Second Edition), W3C Recommendation 6 October 2000, http://www.w3.org/TR/REC-xml, 2000. 2. Olaf Zimmermann, Mark Tomlinson, Stefan Peuser, “Perspectives on Web services- Applying SOAP, WSDL and UDDI to real-world projects, 2nd edition, Springer, 2005.