Automatic Configurator for Application Code
|
|
- Clyde Reynolds
- 6 years ago
- Views:
Transcription
1 Automatic Configurator for Application Code ROXANA MUREŞAN 1, ANDREI BOTOACĂ 2, HORIA CIOCÂRLIE 1 1 Computer and Software Engineering Department Politehnica University of Timisoara V. Pârvan street 2, , Timisoara ROMANIA 2 Continental Automotive Timişoara, ROMANIA roxi.muresan@yahoo.com, horia@cs.upt.ro Abstract: - This paper proposes a plug-in for ConfigTool. ConfigTool is a XML editor that generates.c and.h files using XML, XML Schema and XSL files. The tool is used by software developers to configure the generic code. The software developers need to write the XML, XML Schema and XSL files that configure the generic code. For this they need to have at least medium knowledge of XML, XML Schema and XSL technologies. The Automatic Configurator can generate these files using much less input information than the XML, XML Schema and XSL files themselves. The application uses its own script which allows the developer to define the configurable data and the way it wants to use the data. The script used by the tool is much easier and faster to learn and use than the XML [1], XML Schema [2] and XSL [3] technologies. The tool was used by software developers and it is proved that it increases the quality of the configured code by eliminating consistency errors and it minimizes the time used for code configuration. Key-words:- configuration, Schema, XML, XSL, generate, generic. 1 Introduction The application is addressed to software developers and it simplifies their work to configure the source code starting from the generic code. Generic programming is a technique that allows the types to be specified later. These types are initialized when there is need for specific types to be sent as parameters. This approach allowes developers to write common functions or types which differ only by the set of types that they operate on when they are used. This way code duplication is avoided. The generic concept is tightly related to the reusability concept. In programming, reusability is the probability a segment of source code to be reused in order to add new functionalities with no changes or with minor changes to the code. The reusable classes and modules reduce the implementation time. It is considered that this code is already tested and, therefore, free of errors and in case there are changes in the implementation, these changes are localized. To configure the generic code, a developer needs to write an XML file and its Schema file which contain the configurable data and an XSL file for each file that he needs to configure. As long as the configurable data is not changed, the XML Schema file and the XSL files stay unchanged. If a reconfiguration is needed, the developer only needs to change the elements of the XML file. The main disadvantages are that the developer needs to write these files, and for this he needs to have at least medium knowledge of XML [1], XML Schema [2] and XSL [3] technologies, and the developer can easily introduce inconsistent data in these files, these kinds of errors being hard to detect. Here is where the Automatic Configurator comes in help (Figure 1). It solves both of those drawbacks. It comes with a lighter script than the XML and it checks the consistency of the data. ISBN:
2 CFG:print - is used to print the data in the configured files. CFG:format - defines the way to display the data. Fig.1. The configuring process Together, the Automatic Configurator and the ConfigTool can almost be considered a code generator. There are other code generator tools that also use XML, such as Autogen and Tankogen, which is a tool for Model-driven development tailored for model transformation and source code generation. Code generators are widely used for building GUIs, for example Interface Builder and program "wizards", which allow the programmer to design graphical user interfaces interactively while the compiler invisibly generates the corresponding source code. The rest of this paper is organized as follows: Section II describes the script used by the Automatic Configurator to generate the XML, XML Schema and XSL files. Section III explains how the Automatic Configurator works. In Section IV we give an example of how to use the script: we show the input and the generated output. In Section V we present the results of this project. Section VI states the conclusions of this paper. 2 Automatic Configurator Script The Automatic Configurator uses a markup formal language. Whit this script the developer can define the configurable data of the generic code, which can be simple types or structures of data, and the way the data is written in the generated files (configured.c and.h files). The tags of the script are comments in the C language because they are contained between /* and */. The script has four main tags, two for defining data and two tags for writing data: CFG:typedef - is used to define local data structures and instances. CFG:inst - is used to define global data and instances. The data structures can be defined in more than one piece (this will be explained later in this section) 2.1 Data tags The data tags (CFG:typedef and CFG:inst) are a treelike structured tags. They can contain other tags like CFG:sequence, CFG:choice, CFG:element and CFG:attribute. Those tags have similar meaning with the according XML Schema tags. The CFG:typedef and CFG:inst tags have similar meaning with the xs:complextype tag from XML Schema. The syntax for the CFG:typedef tag is: /*CFG:typedef*/ /*/CFG:typedef*/ It is mandatory for a CFG:typedef to have a name attribute. The occurs attribute is optional and its default value is 1. The syntax for the CFG:inst tag is: /*CFG:inst:_name_:_parent_elemtn_*/ /*/CFG:inst*/, where _name_ is the name of the data structure created by CFG:inst and _parent_element_ indicates where the data is added in the _name_ inst structure. There can be more than one CFG:inst tags with the same name. The application will gather all of them and create the final data structure. If the parent element is not specified the node will be added as a child of the inst root node, else it will be added as a child of the specified parent node. The CFG:inst tag allows the developer to create global data structures which pieces can be defined in different files. Forth we will show the syntax of other data tags: /*CFG:element*/ /*/CFG:element*/ The CFG:element tag can contain CFG:sequence, CFG:choice, CFG:element and CFG:attribute tags and can have name, type and occurs attributes. If the type attribute is specified, it has to be the name of a type declared by a CFG:typedef and it cannot have any child nodes. The CFG:element tag has similar meaning with the xs:element tag form XML Schema. /*CFG:sequence*/ /*/CFG: sequence */ /*CFG:choice*/ ISBN:
3 /*/CFG: choice */ These two tags can contain CFG:sequence, CFG:choice, and CFG:element tags. They can t have attributes and are similar with the xs:sequence and xs:choice tags from XML Schema. /*/CFG: attribute */ The CFG:attribute tag can only contain attributes. These attributes are name (mandatory), type (mandatory), fixed or default or value, restriction, link. The syntax of the name attribute is: /*name= a_name /*/ or /*name*/a_name/*/name*/ The type attribute has the following syntax: /*type = a_type */ or /*type*/a_type/*/type*/ The type can be one of the following: short, int, long, unsignedshort, unsignedint, unsignedlong, float, double, boolean, string, or a type defined by a restriction attribute. The fixed and default attributes define a fixed or a default value respectively. Their syntax is: /*fixed = a_value /*/ /*default = a_value /*/ If an CFG:attribute has a fixed value it can t have a default, value, link or restriction attribute. The value attribute has the following syntax: /*value = generic:function_name(parameters) /*/ This attribute is used when we wish an CFG:attribute to take the return value of a function call. The application implicitly defines a java class automatic_configurator.javafunctions in generic.jar where the developer can add different functions. The link attribute can be used when we want an CFG:attribute to take values from the set of values of another CFG:attribute. This attribute shapes the behavior of the xs:key and xs:keyref XML Schema attributes. The syntax is: /* link = "xpath"/*/, where the xpath value indicates the keyref xpath. The restriction attribute allows the developer to define a new type starting from the base types by adding restriction (Table 1). Table 1 Restriction and their meaning maxlength length maximum number of characters the number of characters The totaldigits restriction can be used only for integer types and the length restrictions can be used only for string. The syntax for the restriction attribute is: /*restriction restr_1 = "value1" restr_2 = value2 /*/ 2.2 Write tags The CFG:format tag defines the format in which the data will be written. The formats defined are global and can be referenced in other input files. The syntax is: /*CFG:format:formatname:"the format"/*/ the format is a concatenation of strings and parameters (@*). Example: /*CFG:format:struct2:"'{'+@*+','+@*+'}'"/*/ The format can include the new line character \n. The CFG:print tag is used to write the data in the configured files. The tag needs to be placed exactly where the data needs to be written. Syntax: /*CFG:print:element_name:format/*/ The element_name is the name of the elements to be displayed. The format can be a locally defined format or the name of a globally defined format. Example of CFG:print with global format: Example of CFG:print with local format: /*CFG:print:element_person:"'{'+@name+','+@age+' }'"/*/ The CFG:print tags can be nested. In a CFG:print with global format we can give as parameter for the format another CFG:print tag specifying the element and the format name. The syntax of a nested print tag is: element_name : global_format (format parameters) Restriction pattern minexclusive mininclusive maxinclusive maxexclusive totaldigits minlength Meaning takes as value a regular expression minimum exclusive value minimum inclusive value maximum inclusive value maximum exclusive value total number of digits minimum number of characters 3 The Automatic Configurator 3.1 How to use the application? The application needs first to be integrated as a external in ConfigTool by adding a <External> element in the properties.xml from the ConfigTool folder. <EXTERNALS> <library enable="true" ISBN:
4 entrypoint="main.entrypoint" icon="configtool_path/ac.gif" label="run Automatic Configurator" module="configtool_path/automaticcon figurator.jar"/> </EXTERNALS>, where configtool_path is the path to the ConfigTool directory, ac.gif is the application icon and has to be placed in the ConfigTool folder, and the AutomaticConfigurator.jar is the application jar file and has to be placed also in the ConfigTool folder. To use this application, the developer needs to insert tags in the generic source files. The application is run from ConfigTool by selecting from the menu Externals the item run Automatic Configurator. The application user interface will be displayed (Figure 2). Fig.2. Automatic Configurator user interface The application requires a name for the project, the path to the folder containing the tagged input files, and a path where to put the results. If the check button Create project is checked then the application will also generate the ConfigTool project files, else it will only generate an XML file, a corresponding XML Schema file and an XSL file for each input file. The generated files will be placed in a folder which name will be the name specified by the Project name entry field. Figure 3 shows the structure of the output folder. If the developer has chosen to generate the ConfigTool project files, he can then open the project with ConfigTool, instantiate the data by adding elements in the XML file, and then generate the configured source files with ConfigTool. The configured code is ready for delivery because the tags that were initially added between comments are deleted. 3.2 How the application works The application works in four steps (Figure 4). First it reads the input files, than in scans the files for the script tags, it checks the consistency of the data and it writes the XML file, XML Schema file, XSL files, and ConfigTool project files. The most complex part is the files scanning. The application uses regular expressions [4] to scan the input files for the tags. These regular expressions mach first the beginning and the end of the tags and then with other regular expressions the content is analyzed and specific objects are created, or if the content is not valid an error message is displayed. Example of regular expressions used for the CFG:format tag, the name of the format and the format respectively: (/\\*CFG:format:)(.+)(:\\s*\"{1})(.+)(\"{1}\\s*/\\*/) \\s*[a-za-z][a-za-z0-9_]*\\s* \\s*(('[.[^'@]]*'\\s*) (@\\*\\s*)){1}((\\+\\s*@\\*\\s*) (\ \+\\s*'[.[^'@]]*'\\s*))* Input Reader Scanner Consistency check Output writer Fig.4. Application Architecture Fig.3. Output folder structure The first expression searches for the extremities of the tag, the second expression checks the validity of the name and the third one checks if the format is a concatenation of strings ISBN:
5 The content of the nested tags (CFG:typedef, CFG:inst, CFG:print) is scanned recursively because they have a tree-like structure. After scanning, the application checks the consistency of the data. It checks if the type of CFG:element tags exist, the type of CFG:attribute tags is a base type or a type defined by a restriction and it checks if the xpath specified in a link attribute exists. If the consistency check is successful the application writes the output files. The application has a well developed error reporting system. The application doesn t stops at the first occurring error. This helps the developer to find and correct the syntax and consistency errors. 4 Examples For a better understanding of how the application generates the content of the output files we will give some examples of input script tags and the generated code. In the following example, we have a data structure that represents a date of birth. /*CFG:typedef*/ /*name="date_of_birth"/*/ /*name="year"/*/ /*type= int /*/ /*restriction pattern= (19) (20)[0-9]{2} /*/ /*/ CFG:attribute*/ /*name="month"/*/ /*type= int /*/ /*restriction mininclusive = 1 maxinclusive = 12 /*/ /*/ CFG:attribute*/ /*name="day"/*/ /*type= int /*/ /*restriction mininclusive = 1 maxinclusive = 31 /*/ /*/ CFG:attribute*/ /*/CFG:typedef*/ This script will generate the following lines in the XML Schema file: <xs:complextype name = "date_of_birth"> <xs:attribute name="year" use="required"> <xs:simpletype> <xs:restriction base="xs:int"> <xs:pattern value="(19) (20)[0-9]{2}"/> </xs:restriction> </xs:simpletype> </xs:attribute> <xs:attribute name="month" use="required"> <xs:simpletype> <xs:restriction base="xs:int"> <xs:mininclusive value="1"/> <xs:maxinclusive value="12"/> </xs:restriction> </xs:simpletype> </xs:attribute> <xs:attribute name="day" use="required"> <xs:simpletype> <xs:restriction base="xs:int"> <xs:mininclusive value="1"/> <xs:maxinclusive value="31"/> </xs:restriction> </xs:simpletype> </xs:attribute> </xs:complextype> For the next example we will consider the following format and print tags /*CFG :format :birth_date :"'{'+@*+'/'+@*+'/ +@*+ },\n'" In the XLS file the following lines will be generated: </xsl:text> <xsl:for-each select="//date_of_birth"> <xsl:text>{</xsl:text> <xsl:value-of select="@month"/> <xsl:text>/</xsl:text> <xsl:value-of select="@day"/> <xsl:text>/</xsl:text> <xsl:value-of select="@year"/> <xsl:text>}, </xsl:text> <xsl:text> 5 Results The goal of this project was to improve the time spent by software developers on configuring the generic code and to eliminate the bugs introduced by consistency errors. The application provides the following functionalities: It generates the ConfigTool project files ISBN:
6 It generates an XSL file for each input file The generated XSL files don t contain the initial tags The folder with the results has a fixed subfolder structure. The user interface requires the name of the project, the input folder and the output folder path, and the user can choose to generate the ConfigTool project files or not. 6 Conclusions and further development The project facilitates the software developer s work on configuring the generic code. It improves not only the time spent to configure the code, but also improves the quality of the code by eliminating consistency errors. The application can be extended by adding more user defined function in the generic.jar. References: [1] Erik T. Ray, Learning XML, O Reilly, [2] Eric van der Vlist, XML Schema, O Reilly, [3] Doug Tidwell, XSLT, O Reilly, [4] Mehran Habibi, Java Regular Expressions, Apress, [5] F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal, Pattern Oriented Software Architecture, Vol 1: A System of Patterns, J.Wiley&Sons, [6] E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object- Oriented Software, Addison Wesley, ISBN:
XML Format Plug-in User s Guide. Version 10g Release 3 (10.3)
XML Format Plug-in User s Guide Version 10g Release 3 (10.3) XML... 4 TERMINOLOGY... 4 CREATING AN XML FORMAT... 5 CREATING AN XML FORMAT BASED ON AN EXISTING XML MESSAGE FORMAT... 5 CREATING AN EMPTY
More informationXML. Document Type Definitions XML Schema. Database Systems and Concepts, CSCI 3030U, UOIT, Course Instructor: Jarek Szlichta
XML Document Type Definitions XML Schema 1 XML XML stands for extensible Markup Language. XML was designed to describe data. XML has come into common use for the interchange of data over the Internet.
More informationModelling XML Applications (part 2)
Modelling XML Applications (part 2) Patryk Czarnik XML and Applications 2014/2015 Lecture 3 20.10.2014 Common design decisions Natural language Which natural language to use? It would be a nonsense not
More informationMarkup Languages. Lecture 4. XML Schema
Markup Languages Lecture 4. XML Schema Introduction to XML Schema XML Schema is an XML-based alternative to DTD. An XML schema describes the structure of an XML document. The XML Schema language is also
More informationCOMP9321 Web Application Engineering. Extensible Markup Language (XML)
COMP9321 Web Application Engineering Extensible Markup Language (XML) Dr. Basem Suleiman Service Oriented Computing Group, CSE, UNSW Australia Semester 1, 2016, Week 4 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2442
More informationBEAWebLogic. Integration. Transforming Data Using XQuery Mapper
BEAWebLogic Integration Transforming Data Using XQuery Mapper Version: 10.2 Document Revised: March 2008 Contents Introduction Overview of XQuery Mapper.............................................. 1-1
More informationXML APIs Testing Using Advance Data Driven Techniques (ADDT) Shakil Ahmad August 15, 2003
XML APIs Testing Using Advance Data Driven Techniques (ADDT) Shakil Ahmad August 15, 2003 Table of Contents 1. INTRODUCTION... 1 2. TEST AUTOMATION... 2 2.1. Automation Methodology... 2 2.2. Automated
More informationSemantic Web. XML and XML Schema. Morteza Amini. Sharif University of Technology Fall 94-95
ه عا ی Semantic Web XML and XML Schema Morteza Amini Sharif University of Technology Fall 94-95 Outline Markup Languages XML Building Blocks XML Applications Namespaces XML Schema 2 Outline Markup Languages
More informationXML Schema Element and Attribute Reference
E XML Schema Element and Attribute Reference all This appendix provides a full listing of all elements within the XML Schema Structures Recommendation (found at http://www.w3.org/tr/xmlschema-1/). The
More informationWBM-RDA Integration. User Guide
WBM-RDA Integration User Guide Level: Intermediate Ray W. Ellis (rayellis@us.ibm.com) Daniel T. Chang (dtchang@us.ibm.com) Mei Y. Selvage (meis@us.ibm.com) User Guide WBM and RDA Integration Page 1 of
More informationSo far, we've discussed the use of XML in creating web services. How does this work? What other things can we do with it?
XML Page 1 XML and web services Monday, March 14, 2011 2:50 PM So far, we've discussed the use of XML in creating web services. How does this work? What other things can we do with it? XML Page 2 Where
More informationLast week we saw how to use the DOM parser to read an XML document. The DOM parser can also be used to create and modify nodes.
Distributed Software Development XML Schema Chris Brooks Department of Computer Science University of San Francisco 7-2: Modifying XML programmatically Last week we saw how to use the DOM parser to read
More informationSyntax XML Schema XML Techniques for E-Commerce, Budapest 2004
Mag. iur. Dr. techn. Michael Sonntag Syntax XML Schema XML Techniques for E-Commerce, Budapest 2004 E-Mail: sonntag@fim.uni-linz.ac.at http://www.fim.uni-linz.ac.at/staff/sonntag.htm Michael Sonntag 2004
More informationTeiid Designer User Guide 7.5.0
Teiid Designer User Guide 1 7.5.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata
More informationAppendix H XML Quick Reference
HTML Appendix H XML Quick Reference What Is XML? Extensible Markup Language (XML) is a subset of the Standard Generalized Markup Language (SGML). XML allows developers to create their own document elements
More informationChapter 2 XML, XML Schema, XSLT, and XPath
Summary Chapter 2 XML, XML Schema, XSLT, and XPath Ryan McAlister XML stands for Extensible Markup Language, meaning it uses tags to denote data much like HTML. Unlike HTML though it was designed to carry
More informationFaster XML data validation in a programming language with XML datatypes
Faster XML data validation in a programming language with XML datatypes Kurt Svensson Inobiz AB Kornhamnstorg 61, 103 12 Stockholm, Sweden kurt.svensson@inobiz.se Abstract EDI-C is a programming language
More informationB oth element and attribute declarations can use simple types
Simple types 154 Chapter 9 B oth element and attribute declarations can use simple types to describe the data content of the components. This chapter introduces simple types, and explains how to define
More informationMobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Java Basics Lecture 02
Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Java Basics Lecture 02 Hello, in this lecture we will learn about some fundamentals concepts of java.
More informationChapter 11 XML Data Modeling. Recent Development for Data Models 2016 Stefan Deßloch
Chapter 11 XML Data Modeling Recent Development for Data Models 2016 Stefan Deßloch Motivation Traditional data models (e.g., relational data model) primarily support structure data separate DB schema
More informationFraming how values are extracted from the data stream. Includes properties for alignment, length, and delimiters.
DFDL Introduction For Beginners Lesson 3: DFDL properties In lesson 2 we learned that in the DFDL language, XML Schema conveys the basic structure of the data format being modeled, and DFDL properties
More informationXML extensible Markup Language
extensible Markup Language Eshcar Hillel Sources: http://www.w3schools.com http://java.sun.com/webservices/jaxp/ learning/tutorial/index.html Tutorial Outline What is? syntax rules Schema Document Object
More informationSoftware Engineering Methods, XML extensible Markup Language. Tutorial Outline. An Example File: Note.xml XML 1
extensible Markup Language Eshcar Hillel Sources: http://www.w3schools.com http://java.sun.com/webservices/jaxp/ learning/tutorial/index.html Tutorial Outline What is? syntax rules Schema Document Object
More informationTowards a Java Framework for Knowledge Representation and Inference
Towards a Java Framework for Knowledge Representation and Inference Adrian GIURCA University of Craiova, Faculty of Mathematics and Computer Science Email: giurca@inf.ucv.ro Abstract. The Knowledge Representation
More informationXML Schema. Mario Alviano A.Y. 2017/2018. University of Calabria, Italy 1 / 28
1 / 28 XML Schema Mario Alviano University of Calabria, Italy A.Y. 2017/2018 Outline 2 / 28 1 Introduction 2 Elements 3 Simple and complex types 4 Attributes 5 Groups and built-in 6 Import of other schemes
More informationMore XML Schemas, XSLT, Intro to PHP. CS174 Chris Pollett Oct 15, 2007.
More XML Schemas, XSLT, Intro to PHP CS174 Chris Pollett Oct 15, 2007. Outline XML Schemas XSLT PHP Overview of data types There are two categories of data types in XML Schemas: simple types -- which are
More informationXSFORM: A SCHEMA-DRIVEN FORM-BASED XML INFORMATION PROCESSOR
XSFORM: A SCHEMA-DRIVEN FORM-BASED XML INFORMATION PROCESSOR Shang-Hsien Hsieh and Hsien-Tang Lin Department of Civil Engineering, National Taiwan University, Taipei, Taiwan 10617, R.O.C. shhsieh@ce.ntu.edu.tw;
More informationPESC Compliant JSON Version /19/2018. A publication of the Technical Advisory Board Postsecondary Electronic Standards Council
Version 0.5.0 10/19/2018 A publication of the Technical Advisory Board Postsecondary Electronic Standards Council 2018. All Rights Reserved. This document may be copied and furnished to others, and derivative
More informationFraming how values are extracted from the data stream. Includes properties for alignment, length, and delimiters.
DFDL Introduction For Beginners Lesson 3: DFDL properties Version Author Date Change 1 S Hanson 2011-01-24 Created 2 S Hanson 2011-03-30 Updated 3 S Hanson 2012-09-21 Corrections for errata 4 S Hanson
More informationJeff Offutt. SWE 642 Software Engineering for the World Wide Web
XML Advanced Topics Jeff Offutt http://www.cs.gmu.edu/~offutt/ SWE 642 Software Engineering for the World Wide Web sources: Professional Java Server Programming, Patzer, Wrox, 2 nd edition, Ch 5, 6 Programming
More informationXML DTDs and Namespaces. CS174 Chris Pollett Oct 3, 2007.
XML DTDs and Namespaces CS174 Chris Pollett Oct 3, 2007. Outline Internal versus External DTDs Namespaces XML Schemas Internal versus External DTDs There are two ways to associate a DTD with an XML document:
More informationINCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM
INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM Charles S. Saxon, Eastern Michigan University, charles.saxon@emich.edu ABSTRACT Incorporating advanced programming
More informationAll About <xml> CS193D, 2/22/06
CS193D Handout 17 Winter 2005/2006 February 21, 2006 XML See also: Chapter 24 (709-728) All About CS193D, 2/22/06 XML is A markup language, but not really a language General purpose Cross-platform
More informationOverview of the EU ETS Reporting Language (XETL)
Overview of the EU ETS Reporting Language (XETL) General The EU ETS Reporting Language is an electronic ing language supporting EU ETS Monitoring, Reporting and Validation (MRV) activities such as submitting
More informationUnderstanding Page Template Components. Brandon Scheirman Instructional Designer, OmniUpdate
Understanding Page Template Components Brandon Scheirman Instructional Designer, OmniUpdate Where do PCFs come from??.pcf .PCF Agenda Implementation Process Terminology used in Template Development Hands-on
More informationSchema Element Name Has Extra Content
Schema Element Name Has Extra Content It is used to describe and validate the structure and the content of XML data. XML schema defines the elements, attributes and data types. Schema element supports
More informationIntroducing our First Schema
1 di 11 21/05/2006 10.24 Published on XML.com http://www.xml.com/pub/a/2000/11/29/schemas/part1.html See this if you're having trouble printing code examples Using W3C XML By Eric van der Vlist October
More informationObject-Oriented Software Development Goal and Scope
Object-Oriented Software Development Goal and Scope Koichiro Ochimizu Japan Advanced Institute of Science and Technologies School of Information Science Scope and Goal Goal enable you to understand basic
More informationEVALUATION COPY. Contents
Contents Chapter 1 - Course Introduction... 7 Course Objectives... 8 Course Overview... 10 Using the Workbook... 11 Suggested References... 12 Chapter 2 - Defining New Types Using Schemas... 15 Substitution
More informationBroker Pattern. Teemu Koponen
Broker Pattern Teemu Koponen tkoponen@iki.fi Broker Pattern Context and problem Solution Implementation Conclusions Comments & discussion Example Application Stock Exchange Trader 1 Stock Exchange 1 Trader
More informationThe design and implementation of a GUI configuration tool for the European climate community using XML documents
JOURNAL OF L A TEX CLASS FILES, VOL. 1, NO. 11, NOVEMBER 2002 1 The design and implementation of a GUI configuration tool for the European climate community using XML documents Claes Larsson Abstract This
More informationSyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software
SyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software {s1669021, s1598011, yccheng, hsieh}@ntut.edu.tw SyncFree Abstract People who use different computers at different
More informationCustom Data Access with MapObjects Java Edition
Custom Data Access with MapObjects Java Edition Next Generation Command and Control System (NGCCS) Tactical Operations Center (TOC) 3-D Concurrent Technologies Corporation Derek Sedlmyer James Taylor 05/24/2005
More informationJava EE 7: Back-end Server Application Development 4-2
Java EE 7: Back-end Server Application Development 4-2 XML describes data objects called XML documents that: Are composed of markup language for structuring the document data Support custom tags for data
More information"'' zoo 250. MYINSIGHT Dosh boards & Reports. Release Notes
300 250. "'' zoo 150 10 974 575 645 941 802 715 557 MYINSIGHT Dosh boards & Reports Release Notes 1Chapter 1 VERSION HISTORY Date Changes Version number 7-12-2015 Transformation to DITA. Update for myinsight
More informationPESC Compliant JSON Version /04/2019
Version 1.0.0 02/04/2019 A publication of the Technical Advisory Board, 2018. This document is released and all use of it is controlled under Creative Commons, specifically under an Attribution- ShareAlike
More informationMulti-Level Modeling with XML
5 th International Workshop on Multi-Level Modeling MULTI 2018 Copenhagen, October 16, 2018 Multi-Level Modeling with XML Dr. Jens Gulden Information Systems and Enterprise Modeling, ICB Institute for
More informationA System of Patterns for Web Navigation
A System of Patterns for Web Navigation Mohammed Abul Khayes Akanda and Daniel M. German Department of Computer Science, University of Victoria, Canada maka@alumni.uvic.ca, dmgerman@uvic.ca Abstract. In
More informationAltova XMLSpy 2014 Tutorial
Tutorial All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage
More informationIntroduction Syntax and Usage XML Databases Java Tutorial XML. November 5, 2008 XML
Introduction Syntax and Usage Databases Java Tutorial November 5, 2008 Introduction Syntax and Usage Databases Java Tutorial Outline 1 Introduction 2 Syntax and Usage Syntax Well Formed and Valid Displaying
More informationBig Data 9. Data Models
Ghislain Fourny Big Data 9. Data Models pinkyone / 123RF Stock Photo 1 Syntax vs. Data Models Physical view Syntax this is text. 2 Syntax vs. Data Models a Logical view
More informationThe Object Recursion Pattern
SilverMark, Inc. woolf@acm.org OBJECT RECURSION Object Behavioral Intent Distribute processing of a request over a structure by delegating polymorphically. Object Recursion transparently enables a request
More informationAltova XMLSpy Tutorial
Altova XMLSpy 2018 Tutorial All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or
More informationmyinsight for Documentum Release Notes
myinsight for Documentum Release Notes Contents 1. Version History... 3 2. Product... 4 3. Environment and System Requirements... 6 3.1. Webservice Environment and System Requirements... 6 4. What's New...
More informationXML and Web Services
XML and Web Services Lecture 8 1 XML (Section 17) Outline XML syntax, semistructured data Document Type Definitions (DTDs) XML Schema Introduction to XML based Web Services 2 Additional Readings on XML
More informationAltova XMLSpy 2007 Tutorial
Tutorial All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage
More informationXML Wrap-up. CS 431 March 1, 2006 Carl Lagoze Cornell University
XML Wrap-up CS 431 March 1, 2006 Carl Lagoze Cornell University XSLT Processing Model Input XSL doc parse Input XML doc parse Parsed tree serialize Input XML doc Parsed tree Xformed tree Output doc (xml,
More informationCoordination Patterns
Coordination Patterns 1. Coordination Patterns Design Patterns and their relevance for Coordination Oscar Nierstrasz Software Composition Group Institut für Informatik (IAM) Universität Bern oscar@iam.unibe.ch
More informationAltova XMLSpy 2013 Tutorial
Tutorial All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage
More informationComputer Science 425 Fall 2006 Second Take-home Exam Out: 2:50PM Wednesday Dec. 6, 2006 Due: 5:00PM SHARP Friday Dec. 8, 2006
Computer Science 425 Fall 2006 Second Take-home Exam Out: 2:50PM Wednesday Dec. 6, 2006 Due: 5:00PM SHARP Friday Dec. 8, 2006 Instructions: This exam must be entirely your own work. Do not consult with
More informationThe XQuery Data Model
The XQuery Data Model 9. XQuery Data Model XQuery Type System Like for any other database query language, before we talk about the operators of the language, we have to specify exactly what it is that
More informationIntroduction to XSLT. Version 1.0 July nikos dimitrakas
Introduction to XSLT Version 1.0 July 2011 nikos dimitrakas Table of contents 1 INTRODUCTION... 3 1.1 XSLT... 3 1.2 PREREQUISITES... 3 1.3 STRUCTURE... 3 2 SAMPLE DATA... 4 3 XSLT... 6 4 EXAMPLES... 7
More informationXML and XSLT. XML and XSLT 10 February
XML and XSLT XML (Extensible Markup Language) has the following features. Not used to generate layout but to describe data. Uses tags to describe different items just as HTML, No predefined tags, just
More informationEnforcing the Complex Business Rules of NIEM Exchanges
Enforcing the Complex Business Rules of NIEM Exchanges Priscilla Walmsley Joel Byford 1 Twitter #NIEMNTE3 What are Business Rules? Constraints on data in an exchange Usually contextual or conditional Can
More informationRestricting complextypes that have mixed content
Restricting complextypes that have mixed content Roger L. Costello October 2012 complextype with mixed content (no attributes) Here is a complextype with mixed content:
More informationWeb Services Week 3. Fall Emrullah SONUÇ. Department of Computer Engineering Karabuk University
Web Services Week 3 Emrullah SONUÇ Department of Computer Engineering Karabuk University Fall 2017 1 Recap XML, Writing XML Rules for Writing XML Elements, Attributes, and Values XSL, XSLT 2 Contents Homework
More informationThe Extensible Markup Language (XML) and Java technology are natural partners in helping developers exchange data and programs across the Internet.
1 2 3 The Extensible Markup Language (XML) and Java technology are natural partners in helping developers exchange data and programs across the Internet. That's because XML has emerged as the standard
More informationSetting Up the Development Environment
CHAPTER 5 Setting Up the Development Environment This chapter tells you how to prepare your development environment for building a ZK Ajax web application. You should follow these steps to set up an environment
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationOracle Enterprise Data Quality
Oracle Enterprise Data Quality Automated Loading and Running of Projects Version 9.0 January 2012 Copyright 2006, 2012, Oracle and/or its affiliates. All rights reserved. Oracle Enterprise Data Quality,
More informationStructured documents
Structured documents An overview of XML Structured documents Michael Houghton 15/11/2000 Unstructured documents Broadly speaking, text and multimedia document formats can be structured or unstructured.
More informationXSLT: How Do We Use It?
XSLT: How Do We Use It? Nancy Hallberg Nikki Massaro Kauffman 1 XSLT: Agenda Introduction & Terminology XSLT Walkthrough Client-Side XSLT/XHTML Server-Side XSLT/XHTML More Creative Server-Side XSLT 2 XSLT:
More information* * DFDL Introduction For Beginners. Lesson 2: DFDL Language Basics. DFDL and XML Schema
DFDL Introduction For Beginners Lesson 2: DFDL Language Basics Version Author Date Change 1 S Hanson 2011-01-24 Created 2 S Hanson 2011-01-24 Updated 3 S Hanson 2011-03-30 Improved 4 S Hanson 2012-02-29
More informationManipulating XML Trees XPath and XSLT. CS 431 February 18, 2008 Carl Lagoze Cornell University
Manipulating XML Trees XPath and XSLT CS 431 February 18, 2008 Carl Lagoze Cornell University XPath Language for addressing parts of an XML document XSLT Xpointer XQuery Tree model based on DOM W3C Recommendation
More informationThe Skin Pattern By Rani Pinchuk and Yonat Sharon
The Skin Pattern By Rani Pinchuk and Yonat Sharon Abstract The Skin Pattern is a technique to separate the presentation style of an application (its "skin") from its logic. Keeping the skins separate makes
More informationTurtle Blocks Python Export
Turtle Blocks Python Export A Report on my GSoC Project Marion Zepf October 7, 2013 1 Motivation Turtle Blocks teaches children an important skill in today s world: programming. Its block-based graphical
More informationSQA Advanced Unit Specification: general information
: general information Unit title: Self Describing Data (XML) Unit code: HP2H 48 Superclass: CB Publication date: August 2017 Source: Scottish Qualifications Authority Version: 01 Unit purpose This Unit
More informationNo Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.
[MS-MSL]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,
More informationCONVERTING CONCEPTUAL MODEL XUML TO XML SCHEMA
CONVERTING CONCEPTUAL MODEL XUML TO XML SCHEMA XUEMIN ZHANG School of Computer and Information Science, Hubei Engineering University, Xiaogan 432000, Hubei, China ABSTRACT As XML has become the standard
More informationComp 336/436 - Markup Languages. Fall Semester Week 9. Dr Nick Hayward
Comp 336/436 - Markup Languages Fall Semester 2018 - Week 9 Dr Nick Hayward DEV Week assessment Course total = 25% project outline and introduction developed using a chosen markup language consider and
More informationWe will talk about Alt-Tab from the usability perspective. Think about: - Is it learnable? - Is it efficient? - What about errors and safety?
1 This lecture s candidate for the Hall of Fame & Shame is the Alt-Tab window switching interface in Microsoft Windows. This interface has been copied by a number of desktop systems, including KDE, Gnome,
More informationG16-02SE-A02.1-NUE112_SchedaContatto-Rev5 <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"
More information
Complex type. This subset is enough to model the logical structure of all kinds of non-xml data.
DFDL Introduction For Beginners Lesson 2: DFDL language basics We have seen in lesson 1 how DFDL is not an entirely new language. Its foundation is XML Schema 1.0. Although XML Schema was created as a
More informationAn X-Ray on Web-Available XML Schemas
An X-Ray on Web-Available XML Schemas Alberto H. F. Laender, Mirella M. Moro, Cristiano Nascimento and Patrícia Martins Department of Computer Science Federal University of Minas Gerais Belo Horizonte,
More informationInformatics 1: Data & Analysis
Informatics 1: Data & Analysis Lecture 9: Trees and XML Ian Stark School of Informatics The University of Edinburgh Tuesday 11 February 2014 Semester 2 Week 5 http://www.inf.ed.ac.uk/teaching/courses/inf1/da
More informationADT 2005 Lecture 7 Chapter 10: XML
ADT 2005 Lecture 7 Chapter 10: XML Stefan Manegold Stefan.Manegold@cwi.nl http://www.cwi.nl/~manegold/ Database System Concepts Silberschatz, Korth and Sudarshan The Challenge: Comic Strip Finder The Challenge:
More informationMod4j Application Architecture. Eric Jan Malotaux
Mod4j Application Architecture Eric Jan Malotaux Mod4j Application Architecture Eric Jan Malotaux 1.2.0 Copyright 2008-2009 Table of Contents 1. Introduction... 1 1.1. Purpose... 1 1.2. References...
More informationPattern-Based Architectural Design Process Model
Pattern-Based Architectural Design Process Model N. Lévy, F. Losavio Abstract: The identification of quality requirements is crucial to develop modern software systems, especially when their underlying
More informationJUnit A Study on Applying JUnit Framework to Document Knowledge of Object-Oriented Software Systems
JUnit A Study on Applying JUnit Framework to Document Knowledge of Object-Oriented Software Systems Email: {hsieh, s1669021}@ntut.edu.tw JUnit SyncFree 92 [16] SyncFree 1.0 [17] bug fixmerge CVS SyncFree
More informationdeveloper.* The Independent Magazine for Software Professionals Factory Chain: A Design Pattern for Factories with Generics by Hugo Troche
developer.* The Independent Magazine for Software Professionals Factory Chain: A Design Pattern for Factories with Generics by Hugo Troche Introduction The recent Java 5 (a.k.a. Java 1.5) generics implementation
More informationChapter 3 Brief Overview of XML
Slide 3.1 Web Serv vices: Princ ciples & Te echno ology Chapter 3 Brief Overview of XML Mike P. Papazoglou & mikep@uvt.nl Slide 3.2 Topics XML document structure XML schemas reuse Document navigation and
More informationIntellectual Property Rights Notice for Open Specifications Documentation
[MS-SSISPARAMS-Diff]: Intellectual Property Rights tice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats,
More informationPart VII. Querying XML The XQuery Data Model. Marc H. Scholl (DBIS, Uni KN) XML and Databases Winter 2005/06 153
Part VII Querying XML The XQuery Data Model Marc H. Scholl (DBIS, Uni KN) XML and Databases Winter 2005/06 153 Outline of this part 1 Querying XML Documents Overview 2 The XQuery Data Model The XQuery
More information[MS-MSL]: Mapping Specification Language File Format. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-MSL]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,
More informationCS2110 Assignment 3 Inheritance and Trees, Summer 2008
CS2110 Assignment 3 Inheritance and Trees, Summer 2008 Due Sunday July 13, 2008, 6:00PM 0 Introduction 0.1 Goals This assignment will help you get comfortable with basic tree operations and algorithms.
More informationTED schemas. Governance and latest updates
TED schemas Governance and latest updates Enric Staromiejski Torregrosa Carmelo Greco 9 October 2018 Agenda 1. Objectives 2. Scope 3. TED XSD 3.0.0 Technical harmonisation of all TED artefacts Code lists
More informationDESIGN PATTERN MATCHING
PERIODICA POLYTECHNICA SER. EL. ENG. VOL. 47, NO. 3 4, PP. 205 212 (2003) DESIGN PATTERN MATCHING Dániel PETRI and György CSERTÁN Department of Measurement and Information Systems Budapest University of
More informationCopyright 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 informationObject-Oriented Design
Object-Oriented Design Lecturer: Raman Ramsin Lecture 20: GoF Design Patterns Creational 1 Software Patterns Software Patterns support reuse of software architecture and design. Patterns capture the static
More information[MS-OXWSXPROP]: Extended Properties Structure. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-OXWSXPROP]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,
More information