Quick start guide for preparing the X-Road XForms complex service Version 2.0

Size: px
Start display at page:

Download "Quick start guide for preparing the X-Road XForms complex service Version 2.0"

Transcription

1 Quick start guide for preparing the X-Road XForms complex service Version 2.0

2 1. Table of contents 1. Table of contents Introduction XForms History Advantages and disadvantages XForms function and what does it consist of XForms model XForms user interface Container XPath Let us get to know the code Example 1 Welcome Example 2 Hello World Example 3 Selection list Example 4 Input form Necessary XForms elements of the X-Road service Necessary XForms elements of the X-Road service Model Necessary XForms elements of the X-Road service User interface Simple services in MISP Complex services in MISP Adding a complex collection Ways to develop the service Service development Link for switching to the other service Changing the button logic Result...26 Annex I complex service XForms...27 Annex II Persons list query Xforms...32 Annex III Person details query XForms

3 2. Introduction The aim of this guide is to give a brief overview of how to create a complex service from two simple services. The service can be used in MISP2. We will look at some simpler XForms forms and the important XForms elements of the simple service beforehand to get to know the semantics of the language. The guide is meant for developers who are developing the X-Road service in the MISP2 application. MISP2 uses an X-Road request presentation based on XForms technology. XForms is a form description language, an offspring of HTML forms in XHTML

4 3. XForms XForms is a text-formatting language used to collect input data from web forms. XForms uses XML for data definition and HTML or XHTML for data display. XForms separates the logic of data from its presentation. This way, the data is defined on its own, independently from the user s activity. 3.1 History XForms 1.0 (Third Edition) was released on 29 October The original XForms specification became an official W3C Recommendation on 14 October The version 1.1, which introduced a number of improvements, reached the same status on 20 October The latest XForms version is 2.0 (as at 25 September 2017) 3.2 Advantages and disadvantages Advantages of XForms Model-View-Controller (MVC) architecture Declarative programming easier to learn, maintain, debug The user interface has many options for solving complex issues (e.g. dates, numbers, and ranges) Compatibility with other XML standards (CSS, CML, Schema, XPath) Less Javascript Localization Disadvantages of XForms Low browser support Slow with large forms o Large = fields Few supporting materials 3.3 XForms function and what does it consist of The goal of XForms is to collect data in forms. In order to use XForms, the XForms elements have to be declared with the namespace xmlns:xforms=" XForms framework is divided into two parts: XForms model XForms user interface 4

5 3.3.1 XForms model XForms model is used for describe data. The data template is an XML document. <xforms:model> <xforms:instance xmlns=""> <person> <fname/> <lname/> </person> <xforms:submission id="form1" action="submit.asp" method="get"/> </xforms:model> In the example above, we define inside the <instance> element our XML template for data to be collected and in the <submission> element, we describe how to submit the data. Inside the Submission, we establish the request identifier (id="form1"), the URL to where we submit data (action="submit.asp") and the method that we use to submit data (method="get"). If our XML template looks initally like this: <person> <fname/> <lname/> </person> Then after collecting data it could look like this: <person> <fname>john</fname> <lname>smith</lname> </person> XForms user interface XForms user interface is used to display and input data. The user interface elements of XForms are called controls (input controls). <xforms:input ref="fname"> <xforms:label>first Name</xforms:label> </xforms:input> <xforms:input ref="lname"> <xforms:label>last Name</xforms:label> </xforms:input> <xforms:submit submission="form1"> <xforms:label>submit</xforms:label> </xforms:submit> Here, we use two <input> elements to collect input data. Attributes ref= fname and ref= lname point to the <fname/> and <lname/> elements of our data structure. In the <Submit> control, the submission= form1 attribute refers to the <submission> element in the XForms model. A submit element is usually displayed as a button. With XForms, every input control has a required <label> element. 5

6 3.3.3 Container As the XForms document does not exist, we have to move it inside another XML document, e.g. XHTML. <html xmlns=" xmlns:xforms=" <head> <xforms:model> <xforms:instance xmlns=""> <person> <fname/> <lname/> </person> <xforms:submission id="form1" action="submit.asp" method="get"/> </xforms:model> </head> <body> <xforms:input ref="fname"> <xforms:label>first Name</xforms:label> </xforms:input> <xforms:input ref="lname"> <xforms:label>last Name</xforms:label> </xforms:input> <xforms:submit submission="form1"> <xforms:label>submit</xforms:label> </xforms:submit> </body> </html> Visually it looks like this: Figure1 XForms example Additional information about the XForms model and the user interface controls can be found on:

7 3.4 XPath XPath is a W3C standard syntax for defining parts of XML documents. XPath uses path expressions to identify nodes in an XML document. This XPath expression: /person/fname addresses the fname node in the XML document: <person> <fname>hege</fname> <lname>refsnes</lname> </person> Additional information about XPath functions can be found on the following link: Let us get to know the code Example 1 Welcome <?xml version="1.0" encoding="utf-8"?> <html xmlns=" xmlns:xforms=" <head> <xforms:model> <xforms:instance xmlns=""> <person xmlns=""> <givenname /> </person> </xforms:model> </head> <body> <h1>hello</h1> <p> <xforms:input ref="/person/givenname" incremental="true"> <xforms:label xml:lang="et">sisestage oma nimi: </xforms:label> <xforms:label xml:lang="en">enter your name: </xforms:label> </xforms:input> </p> <p> <xforms:output value="if (normalize-space(/person/givenname) = '') then '' else concat('hello ', /person/givenname, '!')" /> </p> </body> </html> Form overview: The file begins with an XML declaration that can be excluded. 7

8 Then follows an <html> tag with the namespaces used in the file. <head> content differs from regular HTML code, as we define the model (<xforms:model>) where we can create our XForms data structure (<xforms:instance>) whose content is an XML object. <body> section shows both the HTML code and the XForms user interface controls. It begins with a heading, which is inside a regular <h1> tag, as the default namespace of the file is the XHTML namespace. Inside the <p> tag you can see the <xforms:input> control, which we can use to set the value of the respective XML node (XPath) determined in the ref attribute. Attribute incremental= true determines the automatic update of a value. <xforms:label> is similar to the HTML <label> element, which can be used to display explanatory text in front of the input. In the second paragraph, we will display, using an output, a <xforms:output> control, whose value attribute is also XPath. A condition has been added that if the XPath value is empty or the input is blank, the response will not be displayed. Otherwise, Hello {input}! will be displayed. Figure2 Hello Example 2 Hello World <?xml version="1.0" encoding="utf-8"?> <html xmlns=" xmlns:xforms=" xmlns:events=" <head> <xforms:model> <xforms:instance xmlns=""> <data xmlns="" /> </xforms:model> </head> <body> <h1>hello World</h1> <p> <xforms:trigger> <xforms:label xml:lang="et">nupp</xforms:label> <xforms:label xml:lang="en">button</xforms:label> <xforms:hint xml:lang="et">seda nuppu vajutades ilmub teade.</xforms:hint> <xforms:hint xml:lang="en">a message will be displayed when clicking this button.</xforms:hint> <xforms:message level="modal" events:event="domactivate">hello World!</xforms:message> </xforms:trigger> </p> </body> </html> 8

9 Form overview: In comparison to the previous form, we notice one difference a new namespace events has been added. With Event commands we can control the form s activity regarding the trigger time of a command. In the <body> tag, we create a new button by using the <xforms:trigger> control, in which we add three controls. o <xforms:label> we give the button text. o <xforms:hint> while hovering over the button with the cursor, an explanatory text will appear. o <xforms:message> a message that will be displayed after clicking the button. Attribute level= modal gives the message an appearance (the value is the same by default), events:event= DOMActivate triggers the command. If needed, the button can be replaced with a link, which can be done by adding appearance= minimal attribute to the <xforms:trigger> control. Figure3 Hello World 9

10 3.5.3 Example 3 Selection list <?xml version="1.0" encoding="utf-8"?> <html xmlns=" xmlns:xforms=" <head> <xforms:model> <xforms:instance xmlns=""> <data> <selectedelement /> </data> </xforms:model> </head> <body> <h1>selection</h1> <p> <xforms:select1 ref="selectedelement"> <xforms:label xml:lang="et">valikuloend:</xforms:label> <xforms:label xml:lang="en">selection:</xforms:label> <xforms:item> <xforms:label xml:lang="et">esimene</xforms:label> <xforms:label xml:lang="en">first</xforms:label> <xforms:value>first</xforms:value> </xforms:item> <xforms:item> <xforms:label xml:lang="et">teine</xforms:label> <xforms:label xml:lang="en">second</xforms:label> <xforms:value>second</xforms:value> </xforms:item> <xforms:item> <xforms:label xml:lang="et">kolmas</xforms:label> <xforms:label xml:lang="en">third</xforms:label> <xforms:value>third</xforms:value> </xforms:item> <xforms:item> <xforms:label xml:lang="et">neljas</xforms:label> <xforms:label xml:lang="en">fourth</xforms:label> <xforms:value>fourth</xforms:value> </xforms:item> <xforms:item> <xforms:label xml:lang="et">viies</xforms:label> <xforms:label xml:lang="en">fifth</xforms:label> <xforms:value>fifth</xforms:value> </xforms:item> </xforms:select1> </p> <p> <xforms:output value="selectedelement"> <xforms:label xml:lang="et">valitud: </xforms:label> <xforms:label xml:lang="en">selected: </xforms:label> </p> </body> </html> Form overview: Inside the <head> part, we create a data structure, in which we keep the value currently selected in the selection list. Inside the <body> tag, we create a selection list, <xforms:select1> control, to which we add the ref= selectedelement attribute this saves the selected value of the element. Inside 10

11 the selection list, we define the options, using <xforms:item> control, in which we define its displayed name (<xforms:label>) and value (<xforms:value>). It should be noted that inside the <xforms:output> output, the response is not displayed after the first loading of the form but only after we have made a choice. Figure4 Selection list Example 4 Input form <?xml version="1.0" encoding="utf-8"?> <html xmlns=" xmlns:xforms=" xmlns:events=" <head> <xforms:model> <xforms:instance id="personal-data" xmlns=""> <people> <person> <firstname /> <lastname /> <birthdate /> <contactinfo> <phone /> < /> </contactinfo> </person> </people> <xforms:bind nodeset="instance('personal-data')"> <xforms:bind nodeset="person"> <xforms:bind nodeset="firstname" type="xforms:string" /> <xforms:bind nodeset="lastname" type="xforms:string" /> <xforms:bind nodeset="birthdate" type="xforms:date" /> <xforms:bind nodeset="contactinfo"> <xforms:bind nodeset="phone" type="xforms:integer" /> <xforms:bind nodeset=" " type="xforms:string" /> </xforms:model> <style>.input-w150 input {width:150px!important;}.input-50 input {width:50px!important;} </style> </head> <body> <h1>insertion</h1> <p> <xforms:repeat nodeset="instance('personal-data')/person[position() > 1]" 11

12 id="repeat-list"> <xforms:output ref="firstname"> <xforms:label xml:lang="et">eesnimi</xforms:label> <xforms:label xml:lang="en">first name</xforms:label> <xforms:output ref="lastname"> <xforms:label xml:lang="et">perekonnanimi</xforms:label> <xforms:label xml:lang="en">last name</xforms:label> <xforms:output ref="birthdate"> <xforms:label xml:lang="et">sünniaeg</xforms:label> <xforms:label xml:lang="en">date of birth</xforms:label> <xforms:output ref="contactinfo/phone"> <xforms:label xml:lang="et">telefon</xforms:label> <xforms:label xml:lang="en">telephone</xforms:label> <xforms:output ref="contactinfo/ "> <xforms:label xml:lang="et"> </xforms:label> <xforms:label xml:lang="en"> </xforms:label> </xforms:repeat> <xforms:group ref="instance('personal-data')/person" appearance="compact"> <xforms:input ref="firstname" class="input-w150"> <xforms:label xml:lang="et">eesnimi</xforms:label> <xforms:label xml:lang="en">first name</xforms:label> </xforms:input> <xforms:input ref="lastname" class="input-w150"> <xforms:label xml:lang="et">perekonnanimi</xforms:label> <xforms:label xml:lang="en">last name</xforms:label> </xforms:input> <xforms:input ref="birthdate" class="input-w50"> <xforms:label xml:lang="et">sünniaeg</xforms:label> <xforms:label xml:lang="en">date of birth</xforms:label> </xforms:input> <xforms:input ref="contactinfo/phone" class="input-w150"> <xforms:label xml:lang="et">telefon</xforms:label> <xforms:label xml:lang="en">telephone</xforms:label> </xforms:input> <xforms:input ref="contactinfo/ " class="input-w150"> <xforms:label xml:lang="et"> </xforms:label> <xforms:label xml:lang="en"> </xforms:label> </xforms:input> <xforms:group ref="instance('personal-data')"> <xforms:trigger> <xforms:label xml:lang="et">lisa</xforms:label> <xforms:label xml:lang="en">insert</xforms:label> <xforms:action events:event="domactivate"> <xforms:insert nodeset="person[last()]" at="last()" position="after" /> <xforms:setvalue ref="instance('personaldata')/person[last()]/firstname" value="instance('personal-data')/person/firstname" /> <xforms:setvalue ref="instance('personaldata')/person[last()]/lastname" value="instance('personal-data')/person/lastname" /> <xforms:setvalue ref="instance('personaldata')/person[last()]/birthdate" value="instance('personal-data')/person/birthdate" /> <xforms:setvalue ref="instance('personaldata')/person[last()]/contactinfo/phone" value="instance('personaldata')/person/contactinfo/phone" /> <xforms:setvalue ref="instance('personaldata')/person[last()]/contactinfo/ " value="instance('personaldata')/person/contactinfo/ " /> </xforms:action> </xforms:trigger> <xforms:trigger ref=".[count(person) > 1]"> 12

13 <xforms:label xml:lang="et">kustuta</xforms:label> <xforms:label xml:lang="en">delete</xforms:label> <xforms:action events:event="domactivate"> <xforms:delete nodeset="person[last()]" at="last()"/> </xforms:action> </xforms:trigger> </p> </body> </html> Form overview: Inside <xforms:model>, we once again create our data structure, but in addition, we will define our validation rules. It should be noted that the validation rules will be applied only during the (<xforms:submission>) data submission, which we will not do here. You only need to add type= xforms:date to the date for the calender to appear next to that field. In addition, you can see the <style> tag inside the<head> tag. You can also change the style on the XForms forms by using the <style> tag. With this example, we will only change the width of the table s columns. More information about the XForms styling can be found here: here: Inside the <body>, we can see the control <xforms:repeat>, which can be used to go through all the data in the list. Using the nodeset attribute, we determine which list we put in the cycle; in addition, a condition has been set inside the square brackets that we skip the first element (instance('personal-data')/person) (we will use it for the template data). Inside the cycle we will, however, write the data on the display by using <xforms:output> control. This is followed by <xforms:group>, which we use to group our input fields into one table. Attribute appearance= compact gives our table a horizontal formation. We use the <xforms:trigger> control to create the buttons to add and delete rows. Inside it, we have to add control <xforms:action events:event= DOMActivate >, which gives our button the command to do something when the button is clicked. <xforms:insert> control can be used to add data to the list; it is necessary to select three attributes. With Nodeset, we determine the list to which we add data. Attribute at is an index which we use to determine a target; in this case, the last object on the list. Position determines where the data is added to relative to the target. To set the value of the new object, we use the <xforms:setvalue> command with whose ref attribute we set the location where the value is saved, and we use value to set value. As we use the first object of the list as a template, it is therefore a value and the last object of the list is where we save. Last, we create a new button and give it an ability with the <xforms:delete> control to delete the object at the end of the list. 13

14 Figure 5 Input form 14

15 4. Necessary XForms elements of the X-Road service When you generate an XForms description for the X-Road service via the MISP application, the form will get certain elements via which the data is being exchanged between the input, output, and user interface request controls. To explain the code, we use Persons List query s XForms (aktorstest-db01.persondetails.v1) Necessary XForms elements of the X-Road service Model Inside the <xforms:model> tag, which is inside <xhtml:head>, data structures (<xforms:instance>), validation rules (<xforms:bind>) and queries (<xforms:submission>) are defined. <xforms:instance> data structure, which in the case of X-Road service is XML SOAP. Output data structure is provisional, because in case of a successful request submission, the data structure will be replaced with request responses. In addition to the input and output of services, provisional data structures and classificators can also be created. <xforms:instance id="personlist.input"> <SOAP-ENV:Envelope> <SOAP-ENV:Header> <xrd:protocolversion>4.0</xrd:protocolversion> <xrd:id/> <xrd:userid>ee</xrd:userid> <xrd:service iden:objecttype="service"> <iden:xroadinstance>ee-dev</iden:xroadinstance> <iden:memberclass>com</iden:memberclass> <iden:membercode> </iden:membercode> <iden:subsystemcode>aktorstest-db01</iden:subsystemcode> <iden:servicecode>personlist</iden:servicecode> <iden:serviceversion>v1</iden:serviceversion> </xrd:service> <xrd:client iden:objecttype="subsystem"> <iden:xroadinstance>ee-dev</iden:xroadinstance> <iden:memberclass/> <iden:membercode/> <iden:subsystemcode/> </xrd:client> </SOAP-ENV:Header> <SOAP-ENV:Body> <ns5:personlist xmlns:ns5=" <request> <givenname/> <surname/> </request> </ns5:personlist> </SOAP-ENV:Body> </SOAP-ENV:Envelope> <xforms:instance id="personlist.output"> <dummy/> 15

16 <xforms:bind> validation rules controlled during request submissions. Here we bind our input and output data (nodeset) into certain data types (type). It is also possible to use other attributes in addition to data types. o relevant condition; if it is met, that part will be displayed in your form o required required, data field has to have a value o readonly read-only, the data field value can not be changed o constraint constraint, for setting minimum/maximum value o calculate calculation <xforms:bind nodeset="instance('personlist.input')/soap-env:body"> <xforms:bind nodeset="tns:personlist"> <xforms:bind nodeset="request"> <xforms:bind nodeset="givenname" type="xforms:string"/> <xforms:bind nodeset="surname" type="xforms:string"/> <xforms:bind nodeset="instance('personlist.output')/soap-env:body"> <xforms:bind nodeset="tns:personlistresponse"> <xforms:bind nodeset="response"> <xforms:bind nodeset="faultcode" type="xforms:string"/> <xforms:bind nodeset="faultstring" type="xforms:string"/> <xforms:bind nodeset="person"> <xforms:bind nodeset="givenname" type="xforms:string"/> <xforms:bind nodeset="surname" type="xforms:string"/> <xforms:bind nodeset="ssn" type="xforms:string"/> <xforms:submission> requests. Inside the submission, it is possible to determine the request input data, output data, how they are formatted, and error message processing. o action address where we submit our request. This is not taken into account in the MISP portal, but instead a certain address is used, which is determined by an administrator. o mediatype we determine that our request is application/soap+xml type. o encoding encoding o ref input data o method HTTP method used to transmit the request. o replace we determine what will be done with the output data; in this case, we save them inside instance. o instance Instances where the output data is saved. o <xforms:toggle> determines which (<xforms:case>) view we display after a successful request (xforms-submit-done). o <xforms:message> a message that is displayed after an unsuccessful request. level= modal attribute gives our message an appearance and with the events:event= xforms-submit-error attribute we make sure that it is displayed only if the request is unsuccessful. <xforms:submission id="personlist.submission" action=" mediatype="application/soap+xml; charset=utf-8; action=" 16

17 encoding="utf-8" ref="instance('personlist.input')" method="post" replace="instance" instance="personlist.output"> <xforms:setvalue ref="instance('temp')/relevant" value="false()" events:event="xforms-submit"/> <xforms:setvalue ref="instance('personlist.input')/soap-env:header/*:id" value="digest(string(random()), 'SHA-1', 'hex')" events:event="xforms-submit"/> <xforms:toggle case="personlist.response" events:event="xforms-submitdone"/> <xforms:setvalue ref="instance('temp')/relevant" value="true()" events:event="xforms-submit-done"/> <xforms:setvalue ref="instance('temp')/relevant" value="true()" events:event="xforms-submit-error"/> <xforms:message level="modal" events:event="xforms-submit-error"> <xforms:output xml:lang="et" value="if (event('error-type') = 'submission-in-progress') then 'Üks päring juba käib!' else if (event('error-type') = 'no-data') then 'Pole andmeid, mida saata!' else if (event('error-type') = 'validation-error') then 'Valideerimise viga!' else if (event('error-type') = 'parse-error') then 'Viga vastuse töötlemisel!' else if (event('error-type') = 'resource-error') then 'Päringu vastus ei ole XML!' 'Sihtkoha viga!' else 'Sisemine viga!'"/> <xforms:output xml:lang="en" else if (event('error-type') = 'target-error') then value="if (event('error-type') = 'submission-in-progress') then 'Submission already started!' else if (event('error-type') = 'no-data') then 'No data to submit!' else if (event('error-type') = 'validation-error') then 'Validation error!' else if (event('error-type') = 'parse-error') then 'Error parsing response!' else if (event('error-type') = 'resource-error') then 'Response is not XML!' else if (event('error-type') = 'target-error') then 'Target error!' else 'Internal error!'"/> </xforms:message> </xforms:submission> The <xforms:dispatch> targetid attribute (case id as input) determines which view will be displayed upon first loading. <xforms:dispatch targetid="personlist.request" name="xforms-select" events:event="xforms-ready"/> 17

18 4.1.2 Necessary XForms elements of the X-Road service User interface User interface controls of XForms are inside the <xhtml:body> tag. The previously mentioned views can be determined with<xforms:case> tags that are inside <xforms:switch>. <xforms:switch> <xforms:case id="personlist.request">... </xforms:case> <xforms:case id="personlist.response">... </xforms:case> </xforms:switch> <xforms:group> control can group and optimise elements by using ref attribute whose value is XPath. <xforms:group ref="instance('personlist.input')/soap-env:body"> <xforms:group ref="tns:personlist"> <xforms:group ref="request">... With <xforms:input> we create a field for submitting data. We use ref attribute to determine where the submitted data will be saved. We use <xforms:label> control to display explanatory text in front of the input field. We use xml:lang attribute to define texts with different languages. <xforms:group ref="instance('personlist.input')/soap-env:body"> <xforms:group ref="tns:personlist"> <xforms:group ref="request"> <xforms:input ref="givenname"> <xforms:label xml:lang="en">given name</xforms:label> <xforms:label xml:lang="et">eesnimi</xforms:label> </xforms:input>... We use <xforms:output> control to display data. <xforms:output ref="givenname"> <xforms:label xml:lang="en">given name</xforms:label> <xforms:label xml:lang="et">eesnimi</xforms:label> 18

19 <xforms:repeat> control is used to display data that is located in the list. We use nodeset attribute to set XPath value. We can set its control an id value with Id attribute. <xforms:repeat nodeset="person" id="personlist_output_tns_personlistresponse_response_person"> <xforms:output ref="givenname"> <xforms:label xml:lang="en">given name</xforms:label> <xforms:label xml:lang="et">eesnimi</xforms:label>... </xforms:repeat> We use <xforms:submit> control to create a button for data submission. Request (submission) that we submit is specified in the submission attribute. <xforms:submit submission="personlist.submission"> <xforms:label xml:lang="et">esita päring</xforms:label> <xforms:label xml:lang="en">submit</xforms:label> </xforms:submit> We create a button by using <xforms:trigger> control. We can give the button functionality with events:event= DOMActivate attribute that has to be inside an action type control. As an example we will use <xforms:toggle> control by clicking on the button, we change the view. By giving the case attribute one view (case) id, we can display the respective view. <xforms:trigger> <xforms:label xml:lang="et">uuesti</xforms:label> <xforms:label xml:lang="en">again</xforms:label> <xforms:toggle events:event="domactivate" case="personlist.request"/> </xforms:trigger> 19

20 5. Simple services in MISP2 When creating a new complex service, we use two simple services (aktorstest database, WSDL: The first shows as an output a person s list that contains social security numbers and names (aktorstest-db01.personlist.v1) The other uses a social security number as an input and shows more specific information about the person (aktorstest-db01.persondetails.v1) Let us assume that the simple service forms have already been generated (using either wsdl2xforms command-line script or the standard form generating functionality of the MISP2 application). Complex service development idea is based on realising a switch from one service to another: how to use the output (or part of the output) of the first service as the input of the other. The goal of the developer of a new complex service is to find the places in the XForms descriptions where you have to add these commands to realize the switch. This is described by the following scheme: 20

21 6. Complex services in MISP2 6.1 Adding a complex collection In order to begin creating a new complex service in the MIPS2 application, it is necessary to add a new complex collection. This can be done by a user in the role of a portal administrator or a service administrator under the Menu option Services : On the complex collection management page, you must enter the complex collection name and a description, and click the Save button. Once the complex collection is saved, it must be visible in the complex collection list: By clicking on the complex collection name, we can look at the list of complex services in that database. The list is empty in the case of a new complex collection: 21

22 The button Add new leads to the page with the metadata of the new complex service where you can enter a systematic name, description, and XForms URL of the new service. XForms URL is useful when the XForms description of the service is already created and it can be loaded from the entered URL. Systematic name must be in the format servicename.vx, where X is the version number. Once the new service is saved, it will appear in the service list of the complex collection: 6.2 Ways to develop the service When clicking on the service name, a screen form will appear with the description of the XForms service. This is one way how to develop the service form. The other way is to use your favorite text editor and afterwards, by using XForms URL, load the given description into the application. 6.3 Service development Let us copy the XForms description of the first simple service (aktorstest-db01.personlist.v1) into the form of the new complex service aktorstest-complex.person-complex. The resulting document will look like a regular document with an XML/HTML markup, which contains <xforms:model> and other XForms-specific elements. 22

23 Figure 6 XForms description in a text editor Brief overview of the file: The file begins with an XML declaration. Then follows a <xhtml:html> tag. Next to that tag, all the prefixes of the namespaces used in the file are declared. <xhtml:head> section begins as usual with a <xhtml:title> tag that determines the title of the form. This has been generated based on the service <xtee:title> tag that is included in the WSDL file. The title is followed by <xforms:model> where three main things are defined: Data structures, (<xforms:instance>), validation rules (<xforms:bind>), requests (<xforms:submission>). <xhtml:body> section also begins with a title, which in this case is included inside a <xhtml:h1> tag. This is also generated based on <xtee:title>. Then follows a brief service 23

24 description inside a <xhtml:h1> tag. <xforms:switch> marks the beginning of the request forms. Now, if we save the service form without changing it, we get a regular simple service. In order to get a complex service, you have to copy the following elements from the XForms of the service aktorstest.persondetails.v1: <xforms:instance> (excluding temp with an id, because it is already there) <xforms:bind> <xforms:submission> o All of the aforementioned must be copied under the XForms <xforms:model> of the service aktorstest-complex.isikuandmed.v1. The order is not important. <xforms:case id="persondetails.response"> This goes under the XForms <xforms:switch> of the service. Hence, we get an XForms description that contains content elements necessary for activating the two services. 6.4 Link for switching to the other service Now, a trigger (or, in other words, a button) has to be created under the <xforms:repeat nodeset="person"> element, which could be used to activate the next service from the input of the first one. This has to be created under the element: <xforms:case id="personlist.response">. Before that, you can change the <xforms:repeat nodeset="person"> generated id value that will be hereafter used in the trigger description. In this example, it is person_index(<xforms:repeat nodeset="person" id="person_index">). Trigger code: <xforms:trigger appearance="minimal"> <xforms:label xml:lang="et">detailid</xforms:label> <xforms:label xml:lang="en">details</xforms:label> <xforms:action events:event="domactivate"> <xforms:setvalue ref="instance('persondetails.input')/soap- ENV:Body/tns:personDetails/request/ssn" value="context()/ssn"/> <xforms:send submission="persondetails.submission"/> </xforms:action> </xforms:trigger> Trigger subparts: appearance="minimal" determines that the trigger appears as a link, not a button 24

25 <xforms:label> determines the text shown in the user interface. Two texts have been defined: for Estonian (xml:lang= et ) and English (xml:lang= en ) language. <xforms:setvalue> assigns persondetails service to the SOAP-message input (persondetails.input), a value to the ssn field from this row (meaning the filed that the user selects), from the ssn field (or, in other words, the value of the value attribute) with a button clicking event (event DOMActivate). <xforms:send> sends a SOAP-request, using the xforms:submission 6.5 Changing the button logic It would be good to go back from the response of the second service to the previous list. For this, we change the Back button under <xforms:case id="persondetails.response"> in a way that it would direct back to the previous <xforms:case>. Then we change the trigger under the <xforms:group class= actions > element as follows: For the <xforms:toggle> case attribute we set the value personlist.response We change <xforms:label> texts respectively. The result is the following code: <xforms:group class="actions"> <xforms:trigger> <xforms:label xml:lang="et">tagasi</xforms:label> <xforms:label xml:lang="en">back</xforms:label> <xforms:toggle events:event="domactivate" case="personlist.response"/> </xforms:trigger> 25

26 6.6 Result The result is a complex service which can be used to look at the persons list with names found (form 2) by entering a person s name (form 1) and moving on from there via a link named Details to form 3, where the details of the chosen person are shown. 26

27 Annex I complex service XForms <?xml version="1.0" encoding="utf-8"?> <xhtml:html xmlns:xhtml=" xmlns:xforms=" xmlns:xxforms=" xmlns:events=" xmlns:xsd=" xmlns:xsi=" xmlns:soap-env=" xmlns:soap-enc=" xmlns:xtee=" xmlns:xrd=" xmlns:iden=" xmlns:tns=" <xhtml:head> <xhtml:title xml:lang="en">persons List query</xhtml:title> <xhtml:title xml:lang="et">isikute nimekirja päring</xhtml:title> <xforms:model> <xforms:instance id="personlist.input"> <SOAP-ENV:Envelope> <SOAP-ENV:Header> <xrd:protocolversion>4.0</xrd:protocolversion> <xrd:id/> <xrd:userid>ee</xrd:userid> <xrd:service iden:objecttype="service"> <iden:xroadinstance>ee-dev</iden:xroadinstance> <iden:memberclass>com</iden:memberclass> <iden:membercode> </iden:membercode> <iden:subsystemcode>aktorstest-db01</iden:subsystemcode> <iden:servicecode>personlist</iden:servicecode> <iden:serviceversion>v1</iden:serviceversion> </xrd:service> <xrd:client iden:objecttype="subsystem"> <iden:xroadinstance>ee-dev</iden:xroadinstance> <iden:memberclass/> <iden:membercode/> <iden:subsystemcode/> </xrd:client> </SOAP-ENV:Header> <SOAP-ENV:Body> <ns5:personlist xmlns:ns5=" <request> <givenname/> <surname/> </request> </ns5:personlist> </SOAP-ENV:Body> </SOAP-ENV:Envelope> <xforms:instance id="personlist.output"> <dummy/> <xforms:bind nodeset="instance('personlist.input')/soap-env:body"> <xforms:bind nodeset="tns:personlist"> <xforms:bind nodeset="request"> <xforms:bind nodeset="givenname" type="xforms:string"/> <xforms:bind nodeset="surname" type="xforms:string"/> <xforms:bind nodeset="instance('personlist.output')/soap-env:body"> <xforms:bind nodeset="tns:personlistresponse"> <xforms:bind nodeset="response"> <xforms:bind nodeset="faultcode" type="xforms:string"/> <xforms:bind nodeset="faultstring" type="xforms:string"/> <xforms:bind nodeset="person"> <xforms:bind nodeset="givenname" type="xforms:string"/> <xforms:bind nodeset="surname" type="xforms:string"/> <xforms:bind nodeset="ssn" type="xforms:string"/> <xforms:submission id="personlist.submission" action=" mediatype="application/soap+xml; charset=utf-8; action=" encoding="utf-8" ref="instance('personlist.input')" method="post" replace="instance" 27

28 instance="personlist.output"> <xforms:setvalue ref="instance('temp')/relevant" value="false()" events:event="xforms-submit"/> <xforms:setvalue ref="instance('personlist.input')/soap-env:header/*:id" value="digest(string(random()), 'SHA-1', 'hex')" events:event="xforms-submit"/> <xforms:toggle case="personlist.response" events:event="xforms-submit-done"/> <xforms:setvalue ref="instance('temp')/relevant" value="true()" events:event="xforms-submit-done"/> <xforms:setvalue ref="instance('temp')/relevant" value="true()" events:event="xforms-submit-error"/> <xforms:message level="modal" events:event="xforms-submit-error"> <xforms:output xml:lang="et" value="if (event('error-type') = 'submission-in-progress') then 'Üks päring juba käib!' else if (event('error-type') = 'no-data') then 'Pole andmeid, mida saata!' else if (event('error-type') = 'validation-error') then 'Valideerimise viga!' else if (event('error-type') = 'parse-error') then 'Viga vastuse töötlemisel!' else if (event('error-type') = 'resource-error') then 'Päringu vastus ei ole XML!' else if (event('error-type') = 'target-error') then 'Sihtkoha viga!' else 'Sisemine viga!'"/> <xforms:output xml:lang="en" value="if (event('error-type') = 'submission-in-progress') then 'Submission already started!' else if (event('error-type') = 'no-data') then 'No data to submit!' else if (event('errortype') = 'validation-error') then 'Validation error!' else if (event('error-type') = 'parse-error') then 'Error parsing response!' else if (event('error-type') = 'resource-error') then 'Response is not XML!' else if (event('error-type') = 'target-error') then 'Target error!' else 'Internal error!'"/> </xforms:message> </xforms:submission> <xforms:instance id="temp"> <temp> <relevant xsi:type="boolean">true</relevant> <ssn/> </temp> <xforms:instance id="variables"> <variables> <ssn/> </variables> <xforms:dispatch targetid="personlist.request" name="xforms-select" events:event="xforms-ready"/> <!-- persondetails service starts --> <xforms:instance id="persondetails.input"> <SOAP-ENV:Envelope> <SOAP-ENV:Header> <xrd:protocolversion>4.0</xrd:protocolversion> <xrd:id/> <xrd:userid>ee</xrd:userid> <xrd:service iden:objecttype="service"> <iden:xroadinstance>ee-dev</iden:xroadinstance> <iden:memberclass>com</iden:memberclass> <iden:membercode> </iden:membercode> <iden:subsystemcode>aktorstest-db01</iden:subsystemcode> <iden:servicecode>persondetails</iden:servicecode> <iden:serviceversion>v1</iden:serviceversion> </xrd:service> <xrd:client iden:objecttype="subsystem"> <iden:xroadinstance>ee-dev</iden:xroadinstance> <iden:memberclass/> <iden:membercode/> <iden:subsystemcode/> </xrd:client> </SOAP-ENV:Header> <SOAP-ENV:Body> <ns5:persondetails xmlns:ns5=" <request> <ssn/> </request> </ns5:persondetails> </SOAP-ENV:Body> </SOAP-ENV:Envelope> <xforms:instance id="persondetails.output"> <dummy/> <xforms:bind nodeset="instance('persondetails.input')/soap-env:body"> <xforms:bind nodeset="tns:persondetails"> <xforms:bind nodeset="request"> <xforms:bind nodeset="ssn" type="xforms:string"/> 28

29 <xforms:bind nodeset="instance('persondetails.output')/soap-env:body"> <xforms:bind nodeset="tns:persondetailsresponse"> <xforms:bind nodeset="response"> <xforms:bind nodeset="faultcode" type="xforms:string"/> <xforms:bind nodeset="faultstring" type="xforms:string"/> <xforms:bind nodeset="persondetailinfo"> <xforms:bind nodeset="givenname" type="xforms:string"/> <xforms:bind nodeset="surname" type="xforms:string"/> <xforms:bind nodeset="ssn" type="xforms:string"/> <xforms:bind nodeset="username" type="xforms:string"/> <xforms:bind nodeset="created" type="xforms:date"/> <xforms:submission id="persondetails.submission" action=" mediatype="application/soap+xml; charset=utf-8; action=" encoding="utf-8" ref="instance('persondetails.input')" method="post" replace="instance" instance="persondetails.output"> <xforms:setvalue ref="instance('temp')/relevant" value="false()" events:event="xforms-submit"/> <xforms:setvalue ref="instance('persondetails.input')/soap-env:header/*:id" value="digest(string(random()), 'SHA-1', 'hex')" events:event="xforms-submit"/> <xforms:toggle case="persondetails.response" events:event="xforms-submit-done"/> <xforms:setvalue ref="instance('temp')/relevant" value="true()" events:event="xforms-submit-done"/> <xforms:setvalue ref="instance('temp')/relevant" value="true()" events:event="xforms-submit-error"/> <xforms:message level="modal" events:event="xforms-submit-error"> <xforms:output xml:lang="et" value="if (event('error-type') = 'submission-in-progress') then 'Üks päring juba käib!' else if (event('error-type') = 'no-data') then 'Pole andmeid, mida saata!' else if (event('error-type') = 'validation-error') then 'Valideerimise viga!' else if (event('error-type') = 'parse-error') then 'Viga vastuse töötlemisel!' else if (event('error-type') = 'resource-error') then 'Päringu vastus ei ole XML!' else if (event('error-type') = 'target-error') then 'Sihtkoha viga!' else 'Sisemine viga!'"/> <xforms:output xml:lang="en" value="if (event('error-type') = 'submission-in-progress') then 'Submission already started!' else if (event('error-type') = 'no-data') then 'No data to submit!' else if (event('errortype') = 'validation-error') then 'Validation error!' else if (event('error-type') = 'parse-error') then 'Error parsing response!' else if (event('error-type') = 'resource-error') then 'Response is not XML!' else if (event('error-type') = 'target-error') then 'Target error!' else 'Internal error!'"/> </xforms:message> </xforms:submission> </xforms:model> </xhtml:head> <xhtml:body> <xhtml:h1 xml:lang="en">persons List query</xhtml:h1> <xforms:group class="help" xml:lang="en">the service returns list of persons filtered by name <xhtml:h1 xml:lang="et">isikute nimekirja päring</xhtml:h1> <xforms:group class="help" xml:lang="et">teenus tagastab isikute nimekirja mis otsitakse nime järgi <xforms:switch> <xforms:case id="personlist.request"> <xforms:group ref="instance('personlist.input')/soap-env:body"> <xforms:group ref="tns:personlist"> <xforms:group ref="request"> <xforms:input ref="givenname"> <xforms:label xml:lang="en">given name</xforms:label> <xforms:label xml:lang="et">eesnimi</xforms:label> </xforms:input> <xforms:input ref="surname"> <xforms:label xml:lang="en">surname</xforms:label> <xforms:label xml:lang="et">perenimi</xforms:label> <xforms:help>perekonnanimi v teine nimi</xforms:help> </xforms:input> <xforms:group class="actions"> <xforms:submit submission="personlist.submission"> <xforms:label xml:lang="et">esita päring</xforms:label> <xforms:label xml:lang="en">submit</xforms:label> </xforms:submit> </xforms:case> <xforms:case id="personlist.response"> 29

30 <xforms:group ref="instance('personlist.output')/soap-env:header" class="serviceid"> <xforms:output ref="xrd:id"> <xforms:label xml:lang="et">päringu id</xforms:label> <xforms:label xml:lang="en">query id</xforms:label> <xforms:group ref="instance('personlist.output')/soap-env:body"> <xforms:group ref="tns:personlistresponse"> <xforms:group ref="response"> <xforms:output ref="faultcode"/> <xforms:output ref="faultstring"/> <xforms:repeat nodeset="person" id="person_index"> <xforms:output ref="givenname"> <xforms:label xml:lang="en">given name</xforms:label> <xforms:label xml:lang="et">eesnimi</xforms:label> <xforms:output ref="surname"> <xforms:label xml:lang="en">surname</xforms:label> <xforms:label xml:lang="et">perenimi</xforms:label> <xforms:output ref="ssn"> <xforms:label xml:lang="en">ssn</xforms:label> <xforms:label xml:lang="et">isikukood</xforms:label> <xforms:trigger appearance="minimal"> <xforms:label xml:lang="et">detailid</xforms:label> <xforms:label xml:lang="en">details</xforms:label> <xforms:action events:event="domactivate"> <xforms:setvalue ref="instance('persondetails.input')/soap- ENV:Body/tns:personDetails/request/ssn" value="context()/ssn"/> <xforms:send submission="persondetails.submission"/> </xforms:action> </xforms:trigger> </xforms:repeat> <xforms:group ref="instance('personlist.output')/soap- ENV:Body/tns:personListResponse[not(response/*)]" class="info"> <xhtml:span xml:lang="et">andmeid ei tulnud.</xhtml:span> <xhtml:span xml:lang="en">service returned no data.</xhtml:span> <xforms:group ref="instance('personlist.output')/soap-env:body/soap-env:fault" class="fault"> <xforms:output ref="faultstring"/> <xforms:group class="actions"> <xforms:trigger> <xforms:label xml:lang="et">uuesti</xforms:label> <xforms:label xml:lang="en">again</xforms:label> <xforms:toggle events:event="domactivate" case="personlist.request"/> </xforms:trigger> </xforms:case> <xforms:case id="persondetails.response"> <xforms:group ref="instance('persondetails.output')/soap-env:header" class="serviceid"> <xforms:output ref="xrd:id"> <xforms:label xml:lang="et">päringu id</xforms:label> <xforms:label xml:lang="en">query id</xforms:label> <xforms:group ref="instance('persondetails.output')/soap-env:body"> <xforms:group ref="tns:persondetailsresponse"> <xforms:group ref="response"> <xforms:output ref="faultcode"/> <xforms:output ref="faultstring"/> <xforms:group ref="persondetailinfo"> <xforms:output ref="givenname"> <xforms:label xml:lang="en">given name</xforms:label> <xforms:label xml:lang="et">eesnimi</xforms:label> <xforms:output ref="surname"> <xforms:label xml:lang="en">surname</xforms:label> <xforms:label xml:lang="et">perenimi</xforms:label> <xforms:output ref="ssn"> <xforms:label xml:lang="en">personal ID code</xforms:label> <xforms:label xml:lang="et">isikukood</xforms:label> <xforms:output ref="username"> <xforms:label xml:lang="en">username</xforms:label> <xforms:label xml:lang="et">kasutajanimi</xforms:label> 30

31 <xforms:output ref="created"> <xforms:label xml:lang="en">entry created</xforms:label> <xforms:label xml:lang="et">sissekanne loodud</xforms:label> <xforms:group ref="instance('persondetails.output')/soap- ENV:Body/tns:personDetailsResponse[not(response/*)]" class="info"> <xhtml:span xml:lang="et">andmeid ei tulnud.</xhtml:span> <xhtml:span xml:lang="en">service returned no data.</xhtml:span> <xforms:group ref="instance('persondetails.output')/soap-env:body/soap-env:fault" class="fault"> <xforms:output ref="faultstring"/> <xforms:group class="actions"> <xforms:trigger> <xforms:label xml:lang="et">tagasi</xforms:label> <xforms:label xml:lang="en">back</xforms:label> <xforms:toggle events:event="domactivate" case="personlist.response"/> </xforms:trigger> </xforms:case> </xforms:switch> </xhtml:body> </xhtml:html> 31

32 Annex II Persons list query Xforms <?xml version="1.0" encoding="utf-8"?> <xhtml:html xmlns:xhtml=" xmlns:xforms=" xmlns:xxforms=" xmlns:events=" xmlns:xsd=" xmlns:xsi=" xmlns:soap-env=" xmlns:soap-enc=" xmlns:xtee=" xmlns:xrd=" xmlns:iden=" xmlns:tns=" <xhtml:head> <xhtml:title xml:lang="en">persons List query</xhtml:title> <xhtml:title xml:lang="et">isikute nimekirja päring</xhtml:title> <xforms:model> <xforms:instance id="personlist.input"> <SOAP-ENV:Envelope> <SOAP-ENV:Header> <xrd:protocolversion>4.0</xrd:protocolversion> <xrd:id/> <xrd:userid>ee</xrd:userid> <xrd:service iden:objecttype="service"> <iden:xroadinstance>ee-dev</iden:xroadinstance> <iden:memberclass>com</iden:memberclass> <iden:membercode> </iden:membercode> <iden:subsystemcode>aktorstest-db01</iden:subsystemcode> <iden:servicecode>personlist</iden:servicecode> <iden:serviceversion>v1</iden:serviceversion> </xrd:service> <xrd:client iden:objecttype="subsystem"> <iden:xroadinstance>ee-dev</iden:xroadinstance> <iden:memberclass/> <iden:membercode/> <iden:subsystemcode/> </xrd:client> </SOAP-ENV:Header> <SOAP-ENV:Body> <ns5:personlist xmlns:ns5=" <request> <givenname/> <surname/> </request> </ns5:personlist> </SOAP-ENV:Body> </SOAP-ENV:Envelope> <xforms:instance id="personlist.output"> <dummy/> <xforms:bind nodeset="instance('personlist.input')/soap-env:body"> <xforms:bind nodeset="tns:personlist"> <xforms:bind nodeset="request"> <xforms:bind nodeset="givenname" type="xforms:string"/> <xforms:bind nodeset="surname" type="xforms:string"/> <xforms:bind nodeset="instance('personlist.output')/soap-env:body"> <xforms:bind nodeset="tns:personlistresponse"> <xforms:bind nodeset="response"> <xforms:bind nodeset="faultcode" type="xforms:string"/> <xforms:bind nodeset="faultstring" type="xforms:string"/> <xforms:bind nodeset="person"> <xforms:bind nodeset="givenname" type="xforms:string"/> <xforms:bind nodeset="surname" type="xforms:string"/> <xforms:bind nodeset="ssn" type="xforms:string"/> <xforms:submission id="personlist.submission" action=" mediatype="application/soap+xml; charset=utf-8; action=" encoding="utf-8" ref="instance('personlist.input')" method="post" replace="instance" 32

Gathering and Managing XML Information. XForms. Essentials. Micah Dubinko

Gathering and Managing XML Information. XForms. Essentials. Micah Dubinko Gathering and Managing XML Information XForms Essentials Micah Dubinko XForms Essentials Other XML resources from O Reilly Related titles XML in a Nutshell Learning XML XML Pocket Reference XSLT XSLT Cookbook

More information

Introduction to the Cisco ANM Web Services API

Introduction to the Cisco ANM Web Services API 1 CHAPTER This chapter describes the Cisco ANM Web Services application programming interface (API), which provides a programmable interface for system developers to integrate with customized or third-party

More information

Implementing XForms using interactive XSLT 3.0

Implementing XForms using interactive XSLT 3.0 Implementing XForms using interactive XSLT 3.0 O'Neil Delpratt Saxonica Debbie Lockett Saxonica Abstract In this paper, we discuss our experiences in developing

More information

COPYRIGHTED MATERIAL. Contents. Part I: Introduction 1. Chapter 1: What Is XML? 3. Chapter 2: Well-Formed XML 23. Acknowledgments

COPYRIGHTED MATERIAL. Contents. Part I: Introduction 1. Chapter 1: What Is XML? 3. Chapter 2: Well-Formed XML 23. Acknowledgments Acknowledgments Introduction ix xxvii Part I: Introduction 1 Chapter 1: What Is XML? 3 Of Data, Files, and Text 3 Binary Files 4 Text Files 5 A Brief History of Markup 6 So What Is XML? 7 What Does XML

More information

Notes. IS 651: Distributed Systems 1

Notes. IS 651: Distributed Systems 1 Notes Case study grading rubric: http://userpages.umbc.edu/~jianwu/is651/case-study-presentation- Rubric.pdf Each group will grade for other groups presentation No extra assignments besides the ones in

More information

IBM Forms 4 - Form Design and Development

IBM Forms 4 - Form Design and Development IBM LOT-916 IBM Forms 4 - Form Design and Development Version: 4.0 QUESTION NO: 1 IBM LOT-916 Exam Which of the following statements regarding XML is TRUE? A. All XML elements must be properly closed.

More information

SDMX self-learning package XML based technologies used in SDMX-IT TEST

SDMX self-learning package XML based technologies used in SDMX-IT TEST SDMX self-learning package XML based technologies used in SDMX-IT TEST Produced by Eurostat, Directorate B: Statistical Methodologies and Tools Unit B-5: Statistical Information Technologies Last update

More information

Data Transport. Publisher's Note

Data Transport. Publisher's Note Data Transport Publisher's Note This document should be considered a draft until the message formats have been tested using the latest release of the Apache Foundation's SOAP code. When those tests are

More information

Developing publishing process support system with Fedora and Orbeon Forms - A case study

Developing publishing process support system with Fedora and Orbeon Forms - A case study Developing publishing process support system with Fedora and Orbeon Forms - A case study Matti Varanka, Ville Varjonen, Tapio Ryhänen University Oulu Library, Finland 08.07.2010 Table of Contents 1 Introduction

More information

Shankersinh Vaghela Bapu Institue of Technology

Shankersinh Vaghela Bapu Institue of Technology Branch: - 6th Sem IT Year/Sem : - 3rd /2014 Subject & Subject Code : Faculty Name : - Nitin Padariya Pre Upload Date: 31/12/2013 Submission Date: 9/1/2014 [1] Explain the need of web server and web browser

More information

Create web pages in HTML with a text editor, following the rules of XHTML syntax and using appropriate HTML tags Create a web page that includes

Create web pages in HTML with a text editor, following the rules of XHTML syntax and using appropriate HTML tags Create a web page that includes CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB By Hassan S. Shavarani UNIT2: MARKUP AND HTML 1 IN THIS UNIT YOU WILL LEARN THE FOLLOWING Create web pages in HTML with a text editor, following

More information

CS 297 Report Paperful to Paperless Office Forms Integration Framework. Madhuri Potu

CS 297 Report Paperful to Paperless Office Forms Integration Framework. Madhuri Potu CS 297 Report Paperful to Paperless Office Forms Integration Framework Madhuri Potu (madhuri5006@yahoo.com) Advisor: Dr. Chris Pollett December 15, 2003 Table of Contents I. Abstract 2 II. Introduction

More information

Developing with XForms

Developing with XForms Developing with XForms Product version: 4.60 Document version: 1.0 Document creation date: 29-03-2006 Purpose EPiServer XForms contains logic to store and present forms and data posted from forms. Together

More information

Alexa Site Thumbnail. Developer Guide

Alexa Site Thumbnail. Developer Guide : Published 2006-August-02 Copyright 2006 Amazon Services, Inc. or its Affiliates AMAZON and AMAZON.COM are registered trademarks of Amazon.com, Inc. or its Affiliates. All other trademarks are the property

More information

The contents of this publication the specifications of this application are subject to change without notice.

The contents of this publication the specifications of this application are subject to change without notice. V.1.0. Publication Notice The contents of this publication the specifications of this application are subject to change without notice. GFI Software reserves the right to make changes without notice to

More information

XML Namespaces. What does it EXACTLY mean? Why Do We Need Namespaces?

XML Namespaces. What does it EXACTLY mean? Why Do We Need Namespaces? XML Namespaces What does it EXACTLY mean? Why Do We Need Namespaces? 1. To distinguish between elements and attributes from different vocabularies with different meanings. 2. To group all related elements

More information

XML for Java Developers G Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti

XML for Java Developers G Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti XML for Java Developers G22.3033-002 Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical

More information

IT6503 WEB PROGRAMMING. Unit-I

IT6503 WEB PROGRAMMING. Unit-I Department of Information Technology Question Bank- Odd Semester 2015-2016 IT6503 WEB PROGRAMMING Unit-I SCRIPTING 1. What is HTML? Write the format of HTML program. 2. Differentiate HTML and XHTML. 3.

More information

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or remote-live attendance. XML Programming Duration: 5 Days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options. Click here for more info. Delivery Options:

More information

XML. Jonathan Geisler. April 18, 2008

XML. Jonathan Geisler. April 18, 2008 April 18, 2008 What is? IS... What is? IS... Text (portable) What is? IS... Text (portable) Markup (human readable) What is? IS... Text (portable) Markup (human readable) Extensible (valuable for future)

More information

XForms 1.0. W3C Working Draft 18 January Abstract. Status of this Document

XForms 1.0. W3C Working Draft 18 January Abstract. Status of this Document XForms 1.0 W3C Working Draft 18 January 2002 This version: http://www.w3.org/tr/2002/wd-xforms-20020118 (single HTML file, diff-marked HTML, PDF, Zip archive) Latest version: http://www.w3.org/tr/xforms/

More information

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance. XML Programming Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options: Attend face-to-face in the classroom or

More information

The Social Life of Forms. Rob Weir IBM

The Social Life of Forms. Rob Weir IBM The Social Life of Forms Rob Weir IBM How to speak like you're from Boston (Bahstin) 1. Loss of post-vocalic 'r' 1. Park the car in Harvard Yard Pahk the ca in Havad Yad 2.But 'r' is preserved if followed

More information

What is XHTML? XHTML is the language used to create and organize a web page:

What is XHTML? XHTML is the language used to create and organize a web page: XHTML Basics What is XHTML? XHTML is the language used to create and organize a web page: XHTML is newer than, but built upon, the original HTML (HyperText Markup Language) platform. XHTML has stricter

More information

Protocol for Data Exchange Between Databases and Information Systems

Protocol for Data Exchange Between Databases and Information Systems Protocol for Data Exchange Between Databases and Information Systems Requirements for Information Systems and Adapter Servers Specification Version: 9.5 06.02.2014 60 pages Y-597-2 Version History Date

More information

SOAP Introduction Tutorial

SOAP Introduction Tutorial SOAP Introduction Tutorial Herry Hamidjaja herryh@acm.org 1 Agenda Introduction What is SOAP? Why SOAP? SOAP Protocol Anatomy of SOAP Protocol SOAP description in term of Postal Service Helloworld Example

More information

Networks and Services (NETW-903)

Networks and Services (NETW-903) Networks and Services (NETW-903) Dr. Mohamed Abdelwahab Saleh IET-Networks, GUC Fall 2018 Table of Contents 1 XML Namespaces 2 XML Schema 3 The SOAP Protocol and RPC 4 SOAP Messages Name Conflicts A name

More information

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML Chapter 7 XML 7.1 Introduction extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML Lax syntactical rules Many complex features that are rarely used HTML

More information

SAP Business Connector SOAP Programming Guide

SAP Business Connector SOAP Programming Guide SAP Business Connector SOAP Programming Guide SAP SYSTEM Release 48 SAP AG Dietmar-Hopp-Allee 16 D-69190 Walldorf SAP BC Soap Programming Guide 48 1 CHAPTER 1 SAP AG Copyright Copyright 2008 SAP AG All

More information

Implementing a chat button on TECHNICAL PAPER

Implementing a chat button on TECHNICAL PAPER Implementing a chat button on TECHNICAL PAPER Contents 1 Adding a Live Guide chat button to your Facebook page... 3 1.1 Make the chat button code accessible from your web server... 3 1.2 Create a Facebook

More information

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial. A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far XML Tutorial Yanan Zhang Department of Electrical and Computer Engineering University of Calgary

More information

Web services. In plain words, they provide a good mechanism to connect heterogeneous systems with WSDL, XML, SOAP etc.

Web services. In plain words, they provide a good mechanism to connect heterogeneous systems with WSDL, XML, SOAP etc. Web Services Web Services A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format

More information

History of the Internet. The Internet - A Huge Virtual Network. Global Information Infrastructure. Client Server Network Connectivity

History of the Internet. The Internet - A Huge Virtual Network. Global Information Infrastructure. Client Server Network Connectivity History of the Internet It is desired to have a single network Interconnect LANs using WAN Technology Access any computer on a LAN remotely via WAN technology Department of Defense sponsors research ARPA

More information

Exercise SBPM Session-4 : Web Services

Exercise SBPM Session-4 : Web Services Arbeitsgruppe Exercise SBPM Session-4 : Web Services Kia Teymourian Corporate Semantic Web (AG-CSW) Institute for Computer Science, Freie Universität Berlin kia@inf.fu-berlin.de Agenda Presentation of

More information

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML 7.1 Introduction extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML Lax syntactical rules Many complex features that are rarely used HTML is a markup language,

More information

Programmazione Web a.a. 2017/2018 HTML5

Programmazione Web a.a. 2017/2018 HTML5 Programmazione Web a.a. 2017/2018 HTML5 PhD Ing.Antonino Raucea antonino.raucea@dieei.unict.it 1 Introduzione HTML HTML is the standard markup language for creating Web pages. HTML stands for Hyper Text

More information

Today's Goals. CSCI 2910 Client/Server-Side Programming. Objects in PHP. Defining a Class. Creating a New PHP Object Instance

Today's Goals. CSCI 2910 Client/Server-Side Programming. Objects in PHP. Defining a Class. Creating a New PHP Object Instance CSCI 2910 Client/Server-Side Programming Topic: More Topics in PHP Reading: Williams & Lane pp. 108 121 and 232 243 Today's Goals Today we will begin with a discussion on objects in PHP including how to

More information

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward Comp 336/436 - Markup Languages Fall Semester 2017 - Week 4 Dr Nick Hayward XML - recap first version of XML became a W3C Recommendation in 1998 a useful format for data storage and exchange config files,

More information

CS6501 IP Unit IV Page 1

CS6501 IP Unit IV Page 1 CS6501 Internet Programming Unit IV Part - A 1. What is PHP? PHP - Hypertext Preprocessor -one of the most popular server-side scripting languages for creating dynamic Web pages. - an open-source technology

More information

Controlled Assessment Task. Question 1 - Describe how this HTML code produces the form displayed in the browser.

Controlled Assessment Task. Question 1 - Describe how this HTML code produces the form displayed in the browser. Controlled Assessment Task Question 1 - Describe how this HTML code produces the form displayed in the browser. The form s code is displayed in the tags; this creates the object which is the visible

More information

Implementation profile for using OASIS DSS in Central Signing services

Implementation profile for using OASIS DSS in Central Signing services Implementation profile for using OASIS DSS in Central Signing services ELN-0607-v0.9 Version 0.9 2013-10-14 1 (12) 1 INTRODUCTION 3 1.1 TERMINOLOGY 3 1.2 REQUIREMENT KEY WORDS 3 1.3 NAME SPACE REFERENCES

More information

Web Services. Grid Computing (M) Lecture 6. Olufemi Komolafe 19 January 2007

Web Services. Grid Computing (M) Lecture 6. Olufemi Komolafe 19 January 2007 Web Services Grid Computing (M) Lecture 6 Olufemi Komolafe (femi@dcs.gla.ac.uk) 19 January 2007 UDDI registry retrieved from a DTD WSDL service definition XML schema definition is a describes structure

More information

Alpha College of Engineering and Technology. Question Bank

Alpha College of Engineering and Technology. Question Bank Alpha College of Engineering and Technology Department of Information Technology and Computer Engineering Chapter 1 WEB Technology (2160708) Question Bank 1. Give the full name of the following acronyms.

More information

Preliminary. Document Transforms Service Protocol Specification

Preliminary. Document Transforms Service Protocol Specification [MS-DOCTRANS]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,

More information

As we design and build out our HTML pages, there are some basics that we may follow for each page, site, and application.

As we design and build out our HTML pages, there are some basics that we may follow for each page, site, and application. Extra notes - Client-side Design and Development Dr Nick Hayward HTML - Basics A brief introduction to some of the basics of HTML. Contents Intro element add some metadata define a base address

More information

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward Comp 336/436 - Markup Languages Fall Semester 2018 - Week 4 Dr Nick Hayward XML - recap first version of XML became a W3C Recommendation in 1998 a useful format for data storage and exchange config files,

More information

Why HTML5? Why not XHTML2? Learning from history how to drive the future of the Web

Why HTML5? Why not XHTML2? Learning from history how to drive the future of the Web Why HTML5? Why not XHTML2? Learning from history how to drive the future of the Web Michael(tm) Smith mike@w3.org http://people.w3.org/mike sideshowbarker on Twitter, GitHub, &c W3C Interaction domain

More information

Advanced Aspects and New Trends in XML (and Related) Technologies

Advanced Aspects and New Trends in XML (and Related) Technologies NPRG039 Advanced Aspects and New Trends in XML (and Related) Technologies RNDr. Irena Holubová, Ph.D. holubova@ksi.mff.cuni.cz Lecture 8. XForms http://www.ksi.mff.cuni.cz/~holubova/nprg039/ XForms W3C

More information

Objective: Review how to use access the Bulkvs.com Origination and 911 SOAP API using SOAP UI

Objective: Review how to use access the Bulkvs.com Origination and 911 SOAP API using SOAP UI Objective: Review how to use access the Bulkvs.com Origination and 911 SOAP API using SOAP UI Perquisites: 1. Have access to your bulkvs.com API ID 2. Have an MD5 equivalent of your bllkvs.com password

More information

Cisco CallManager 4.1(2) AXL Serviceability API Programming Guide

Cisco CallManager 4.1(2) AXL Serviceability API Programming Guide Cisco CallManager 4.1(2) AXL Serviceability API Programming Guide This document describes the implementation of AXL-Serviceability APIs that are based on version 3.3.0.1 or higher. Cisco CallManager Real-Time

More information

Scripting for Multimedia LECTURE 1: INTRODUCING HTML5

Scripting for Multimedia LECTURE 1: INTRODUCING HTML5 Scripting for Multimedia LECTURE 1: INTRODUCING HTML5 HTML An acronym for Hypertext Markup Language Basic language of WWW documents HTML documents consist of text, including tags that describe document

More information

Some more XML applications and XML-related standards (XLink, XPointer, XForms)

Some more XML applications and XML-related standards (XLink, XPointer, XForms) Some more XML applications and XML-related standards (XLink, XPointer, XForms) Patryk Czarnik XML and Applications 2014/2015 Lecture 12 19.01.2015 Standards for inter-document relations XPointer addressing

More information

NAADS DSS web service usage Contents

NAADS DSS web service usage Contents NAADS DSS web service usage Contents NAADS DSS web service usage... 1 NAADS DSS Service... 2 NAADS DSS web service presentation... 2 NAADS DSS verification request... 2 NAADS DSS verification response...

More information

UNIT -I PART-A Q.No Question Competence BTL

UNIT -I PART-A Q.No Question Competence BTL VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur-60303. Department of Information Technology Academic Year: 06-07 QUESTION BANK- ODD SEMESTER Name of the Subject Subject Code Semester Year Department

More information

XML is a popular multi-language system, and XHTML depends on it. XML details languages

XML is a popular multi-language system, and XHTML depends on it. XML details languages 1 XML XML is a popular multi-language system, and XHTML depends on it XML details languages XML 2 Many of the newer standards, including XHTML, are based on XML = Extensible Markup Language, so we will

More information

Anatomy of an HTML document

Anatomy of an HTML document Anatomy of an HTML document hello World hello World This is the DOCTYPE declaration.

More information

INDEX. Drop-down List object, 60, 99, 211 dynamic forms, definition of, 4 dynamic XML forms (.pdf), 80, 89

INDEX. Drop-down List object, 60, 99, 211 dynamic forms, definition of, 4 dynamic XML forms (.pdf), 80, 89 A absolute binding expressions, definition of, 185 absolute URL, 243 accessibility definition of, 47 guidelines for designing accessible forms, 47 Accessibility palette definition of, 16 specifying options

More information

XML Extensible Markup Language

XML Extensible Markup Language XML Extensible Markup Language Generic format for structured representation of data. DD1335 (Lecture 9) Basic Internet Programming Spring 2010 1 / 34 XML Extensible Markup Language Generic format for structured

More information

Insert/Edit Image. Overview

Insert/Edit Image. Overview Overview The tool is available on the default toolbar for the WYSIWYG Editor. The Images Gadget may also be used to drop an image on a page and will automatically spawn the Insert/Edit Image modal. Classic

More information

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4.

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4. IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4. Why are the protocols layered? 5. Define encapsulation.

More information

CA SiteMinder Web Services Security

CA SiteMinder Web Services Security CA SiteMinder Web Services Security Policy Configuration Guide 12.52 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation

More information

ECM-VNA Convergence Connector

ECM-VNA Convergence Connector ECM-VNA Convergence Connector Installation and Setup Guide Version: 1.0.x Written by: Product Knowledge, R&D Date: September 2016 2016 Lexmark. All rights reserved. Lexmark is a trademark of Lexmark International

More information

Rich Web Application Backplane

Rich Web Application Backplane IBM Software Group Rich Web Application Backplane John Boyer One way to look at it Markup delivered by a web application today must juggle hardening requirements Layout and rendition of text, images, interaction

More information

Chapter 10: Understanding the Standards

Chapter 10: Understanding the Standards Disclaimer: All words, pictures are adopted from Learning Web Design (3 rd eds.) by Jennifer Niederst Robbins, published by O Reilly 2007. Chapter 10: Understanding the Standards CSc2320 In this chapter

More information

XML 2 APPLICATION. Chapter SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC.

XML 2 APPLICATION. Chapter SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC. XML 2 APPLIATION hapter SYS-ED/ OMPUTER EDUATION TEHNIQUES, IN. Objectives You will learn: How to create an XML document. The role of the document map, prolog, and XML declarations. Standalone declarations.

More information

Why SOAP? Why SOAP? Web Services integration platform

Why SOAP? Why SOAP? Web Services integration platform SOAP Why SOAP? Distributed computing is here to stay Computation through communication Resource heterogeneity Application integration Common language for data exchange Why SOAP? Why SOAP? Web Services

More information

Building Rich Web Applications using XForms 2.0

Building Rich Web Applications using XForms 2.0 Nick van den Bleeken Abstract XForms is a cross device, host-language independent markup language for declaratively defining a data processing model of XML data

More information

MODULE 2 HTML 5 FUNDAMENTALS. HyperText. > Douglas Engelbart ( )

MODULE 2 HTML 5 FUNDAMENTALS. HyperText. > Douglas Engelbart ( ) MODULE 2 HTML 5 FUNDAMENTALS HyperText > Douglas Engelbart (1925-2013) Tim Berners-Lee's proposal In March 1989, Tim Berners- Lee submitted a proposal for an information management system to his boss,

More information

MP3 (W7,8,&9): HTML Validation (Debugging) Instruction

MP3 (W7,8,&9): HTML Validation (Debugging) Instruction MP3 (W7,8,&9): HTML Validation (Debugging) Instruction Objectives Required Readings Supplemental Reading Assignment In this project, you will learn about: - Explore accessibility issues and consider implications

More information

Accessibility of EPiServer s Sample Templates

Accessibility of EPiServer s Sample Templates Accessibility of EPiServer s Templates An evaluation of the accessibility of EPiServer s sample according to current recommendations and guidelines elaborated by the World Wide Web Consortium s (W3C) Web

More information

TRANS-ENTERPRISE. Asynchronous Web Services Protocol Introduction by examples. Version 1.0 April 7, 2002 Jeffrey Ricker

TRANS-ENTERPRISE. Asynchronous Web Services Protocol Introduction by examples. Version 1.0 April 7, 2002 Jeffrey Ricker TRANS-ENTERPRISE Asynchronous Web Services Protocol Introduction by examples Version 1.0 April 7, 2002 Jeffrey Ricker Copyright 2002. Trans-enterprise Integration Corporation. All rights reserved. Abstract

More information

Real-Time Claim Adjudication and Estimation Connectivity Specifications

Real-Time Claim Adjudication and Estimation Connectivity Specifications Real-Time Claim Adjudication and Estimation Connectivity Specifications Mountain State Blue Cross Blue Shield June 18, 2009 Contents 1. Real-Time Overview 2. Connectivity Requirements 3. SOAP Request Message

More information

HTML Forms. 10 September, Dr Derek Peacock. This is a short introduction into creating simple HTML forms. Most of the content is

HTML Forms. 10 September, Dr Derek Peacock. This is a short introduction into creating simple HTML forms. Most of the content is This is a short introduction into creating simple HTML forms. Most of the content is based on HTML, with a few HTML5 additions. 1 Forms should be given a Name and an ID to make it easier to code their

More information

Exception Handling in Web Services exposed from an R/3 System

Exception Handling in Web Services exposed from an R/3 System Exception Handling in Web Services exposed from an R/3 System Applies to: SAP WAS 6.2 onwards Summary We expose an RFC enabled function module as web service in R/3. While creating the function module,

More information

Introduction to HTML5

Introduction to HTML5 Introduction to HTML5 History of HTML 1991 HTML first published 1995 1997 1999 2000 HTML 2.0 HTML 3.2 HTML 4.01 XHTML 1.0 After HTML 4.01 was released, focus shifted to XHTML and its stricter standards.

More information

Mobile Viewers based on SVG ±geo and XFormsGI

Mobile Viewers based on SVG ±geo and XFormsGI Mobile Viewers based on SVG ±geo and XFormsGI Thomas Brinkhoff 1, Jürgen Weitkämper 2 Institut für Angewandte Photogrammetrie und Geoinformatik (IAPG) Fachhochschule Oldenburg/Ostfriesland/Wilhelmshaven

More information

Review of HTML. Chapter Pearson. Fundamentals of Web Development. Randy Connolly and Ricardo Hoar

Review of HTML. Chapter Pearson. Fundamentals of Web Development. Randy Connolly and Ricardo Hoar Review of HTML Chapter 3 Fundamentals of Web Development 2017 Pearson Fundamentals of Web Development http://www.funwebdev.com - 2 nd Ed. What Is HTML and Where Did It Come from? HTML HTML is defined as

More information

Introduction to Web Services

Introduction to Web Services 20 th July 2004 www.eu-egee.org Introduction to Web Services David Fergusson NeSC EGEE is a project funded by the European Union under contract IST-2003-508833 Objectives Context for Web Services Architecture

More information

INTRODUCTION TO HTML5! HTML5 Page Structure!

INTRODUCTION TO HTML5! HTML5 Page Structure! INTRODUCTION TO HTML5! HTML5 Page Structure! What is HTML5? HTML5 will be the new standard for HTML, XHTML, and the HTML DOM. The previous version of HTML came in 1999. The web has changed a lot since

More information

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1 Slide 27-1 Chapter 27 XML: Extensible Markup Language Chapter Outline Introduction Structured, Semi structured, and Unstructured Data. XML Hierarchical (Tree) Data Model. XML Documents, DTD, and XML Schema.

More information

Secure Web Forms with Client-Side Signatures

Secure Web Forms with Client-Side Signatures ICWE 2005 Secure Web Forms with Client-Side Signatures Mikko Honkala and Petri Vuorimaa, Finland Mikko.Honkala -at- hut.fi Outline of the talk Introduction to Secure Web Forms Research Problem and Use

More information

Birkbeck (University of London)

Birkbeck (University of London) Birkbeck (University of London) MSc Examination Department of Computer Science and Information Systems Internet and Web Technologies (COIY063H7) 15 Credits Date of Examination: 3 June 2016 Duration of

More information

Form Processing in PHP

Form Processing in PHP Form Processing in PHP Forms Forms are special components which allow your site visitors to supply various information on the HTML page. We have previously talked about creating HTML forms. Forms typically

More information

c122jan2714.notebook January 27, 2014

c122jan2714.notebook January 27, 2014 Internet Developer 1 Start here! 2 3 Right click on screen and select View page source if you are in Firefox tells the browser you are using html. Next we have the tag and at the

More information

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11 !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... 7:4 @import Directive... 9:11 A Absolute Units of Length... 9:14 Addressing the First Line... 9:6 Assigning Meaning to XML Tags...

More information

KINGS COLLEGE OF ENGINEERING 1

KINGS COLLEGE OF ENGINEERING 1 KINGS COLLEGE OF ENGINEERING Department of Computer Science & Engineering Academic Year 2011 2012(Odd Semester) QUESTION BANK Subject Code/Name: CS1401-Internet Computing Year/Sem : IV / VII UNIT I FUNDAMENTALS

More information

IndySoap Architectural Overview Presentation Resources

IndySoap Architectural Overview Presentation Resources Contents: IndySoap Architectural Overview Presentation Resources 1. Conceptual model for Application Application communication 2. SOAP definitions 3. XML namespaces 4. Sample WSDL 5. Sample SOAP exchange,

More information

x ide xml Integrated Development Environment Specifications Document 1 Project Description 2 Specifi fications

x ide xml Integrated Development Environment Specifications Document 1 Project Description 2 Specifi fications x ide xml Integrated Development Environment Specifications Document Colin Hartnett (cphartne) 7 February 2003 1 Project Description There exist many integrated development environments that make large

More information

HTML. Mohammed Alhessi M.Sc. Geomatics Engineering. Internet GIS Technologies كلية اآلداب - قسم الجغرافيا نظم المعلومات الجغرافية

HTML. Mohammed Alhessi M.Sc. Geomatics Engineering. Internet GIS Technologies كلية اآلداب - قسم الجغرافيا نظم المعلومات الجغرافية HTML Mohammed Alhessi M.Sc. Geomatics Engineering Wednesday, February 18, 2015 Eng. Mohammed Alhessi 1 W3Schools Main Reference: http://www.w3schools.com/ 2 What is HTML? HTML is a markup language for

More information

Real-Time Inquiry Connectivity Specifications

Real-Time Inquiry Connectivity Specifications Real-Time Inquiry Connectivity Specifications Highmark, Inc. 2008 Contents 1. Real-Time Overview 2. Requirements 3. SOAP Messages 4. SOAP Faults 5. Highmark EDI WebServices Certificate 1. Overview Real-time

More information

Introduction to Web Development

Introduction to Web Development Introduction to Web Development Lecture 1 CGS 3066 Fall 2016 September 8, 2016 Why learn Web Development? Why learn Web Development? Reach Today, we have around 12.5 billion web enabled devices. Visual

More information

XML: Extensible Markup Language

XML: Extensible Markup Language XML: Extensible Markup Language CSC 375, Fall 2015 XML is a classic political compromise: it balances the needs of man and machine by being equally unreadable to both. Matthew Might Slides slightly modified

More information

Comp 426 Midterm Fall 2013

Comp 426 Midterm Fall 2013 Comp 426 Midterm Fall 2013 I have not given nor received any unauthorized assistance in the course of completing this examination. Name: PID: This is a closed book exam. This page left intentionally blank.

More information

GRAPHIC WEB DESIGNER PROGRAM

GRAPHIC WEB DESIGNER PROGRAM NH128 HTML Level 1 24 Total Hours COURSE TITLE: HTML Level 1 COURSE OVERVIEW: This course introduces web designers to the nuts and bolts of HTML (HyperText Markup Language), the programming language used

More information

XAP: extensible Ajax Platform

XAP: extensible Ajax Platform XAP: extensible Ajax Platform Hermod Opstvedt Chief Architect DnB NOR ITUD Hermod Opstvedt: XAP: extensible Ajax Platform Slide 1 It s an Ajax jungle out there: XAML Dojo Kabuki Rico Direct Web Remoting

More information

Web Development and HTML. Shan-Hung Wu CS, NTHU

Web Development and HTML. Shan-Hung Wu CS, NTHU Web Development and HTML Shan-Hung Wu CS, NTHU Outline How does Internet Work? Web Development HTML Block vs. Inline elements Lists Links and Attributes Tables Forms 2 Outline How does Internet Work? Web

More information

What is PHP? [1] Figure 1 [1]

What is PHP? [1] Figure 1 [1] PHP What is PHP? [1] PHP is an acronym for "PHP: Hypertext Preprocessor" PHP is a widely-used, open source scripting language PHP scripts are executed on the server PHP is free to download and use Figure

More information

XchangeCore Quick Start Guide to the Incident Command Service

XchangeCore Quick Start Guide to the Incident Command Service XchangeCore Quick Start Guide to the Incident Command Service The XchangeCore Community www.xchangecore.com Revision Number Date Description Revisions R03C00 6/1/2014 Initial transfer to XchangeCore R03C01

More information

Introduction to Web Technologies

Introduction to Web Technologies Introduction to Web Technologies James Curran and Tara Murphy 16th April, 2009 The Internet CGI Web services HTML and CSS 2 The Internet is a network of networks ˆ The Internet is the descendant of ARPANET

More information

X-ROAD MISP2 USER GUIDE

X-ROAD MISP2 USER GUIDE X-ROAD MISP2 USER GUIDE CONTENTS 1 Introduction... 3 1.1 X-Road... 3 1.2 MISP2 application... 3 1.2.1 Portal types... 3 1.2.2 User roles... 5 1.3 System requirements... 6 1.3.1 Browser... 6 2 General information...

More information