W3C XML Schema (XSD) for some simple formatted data

Completed Posted Nov 4, 2010 Paid on delivery
Completed Paid on delivery

The XML file for which a schema is needed specifies metadata for the installation of an application, a service, or some data. It is interpreted before the installation script, to decide on an installation directory, and to customise its interface for this install process.

You will need to write an .xsd file, following the W3C XML Schema reccommendation (available at [url removed, login to view]) for this document.

## Deliverables

The parentheses '(' and ')' after an element says if the element is optional or mandatory, and how many times it may occur in an instance document.

For example:

"<name> (1)" means that the <name> element must occur _exactly_ one time in an instance document, whereas

"<publisher> (0 or 1)" means that the <publisher> element is optional, but if it does occur, it may only occur at most once.

No element in an instance document of this format may be in shortened form, i.e., there may be no element (of any name; here, 'elem') like this:

<elem/>

Where 'elem' is any element type mentioned below.

There is no required ordering for any elements in this document - elements may occur in arbitrary order. The only element with children (sub-elements) will be the root element, the other elements may not contain elements.

######################################

Root element

------------

<meta>

Element containing metadata for the application, service, or data

Children of root element

------------------------

<name> (1)

Application's name. Used for presentation purposes. Must contain some text.

<shortname> (1)

Short identifier for application. It may only contain alphanumeric characters and is used to set the installation directory. Must contain some text.

<developer> (1)

Developer's name. Must contain some text.

<publisher> (0 or 1)

Publisher's name. If not included, it is presumed to be the same as the developer. If it is included, it must contain some text.

<version> (1)

Application's version. A string or numeric value. Must contain some text.

<genre> (See note, 'Genre element,' below)

Application's/Service's/Data's genre. If included, must contain some text.

<summary> (See NOTE below <description>)

A brief summary (a sentence or two) of the application. If included, may be empty.

<description> (See NOTE below this)

A longer description (a couple of paragraphs) of the application. If included, may be empty.

####

NOTE: Either <summary> OR <description> OR both may be specified.

####

<icon [width="" height=""]> (0 or more)

Icon path and (optional) maximum width and height attributes (if specified, must have integer values. Either the width or the height or both (or neither) may be specified). If included, must be a relative path name.

<license> (0 or 1)

Path to text file containing application's license that the user must accept before installing.

<installer> (1)

Path to file defining installation process for application, service or data.

<child> (0 or more)

A file path to another metadata file that is a 'child' of this one. Each application/service/datum may have zero or more children applications, services, or data.

############################

Genre element

-------------

If a metadata file contains one or more <child> elements, <genre> elements are optional - there may be 0 or more. If it has no <child> element, the file must contain 1 or more <genre> elements.

############################

Example file

<?xml version="1.0" encoding="utf-8" ?>

<meta>

<installer>install/[url removed, login to view]</installer>

<child>bars/[url removed, login to view]</child>

<name>Foo</name>

<version>0.1</version>

<summary></summary>

<developer>Metasyntise</developer>

<description>The terms foobar, foo, bar, and baz are sometimes used as placeholder names (also referred to as metasyntactic variables) in computer programming or computer-related documentation. They have been used to name entities such as variables, functions, and commands whose purpose is unimportant and serve only to demonstrate a concept. The words themselves have no meaning in this usage. Foobar is sometimes used alone; foo, bar, and baz are sometimes used in that order, when multiple entities are needed.</description>

<child>bars/[url removed, login to view]</child>

<shortname>foo</shortname>

</meta>

############################

Before submitting completed work, it should be validated by

[url removed, login to view]

Script Install Shell Script Software Architecture

Project ID: #3835752

About the project

1 proposal Remote project Active Nov 8, 2010

Awarded to:

hmcclungiii

See private message.

$25.5 USD in 14 days
(3 Reviews)
2.4