Posts Tagged ‘software programs’

Understanding The Fundamentals Of XML Schema

XML schema definition languages are founded on recommendations laid down by the World Wide Web Consortium (W3C). They use XML 1.0 syntax and aim to explicit describe the structure of XML documents and constrain the data which they may contain. They offer a distinct improvement on the more limited schema features offered by the Document Type Definition (DTD) recommendation which formed part of the original XML specification released in 1998. The most widely used schema language is the one defined by the W3C in 2001: W3C XML Schema. However, there are alternatives, such as RELAX NG and Schematron.

Schema documents are the more sophisticated successors to DTDs and overcome some key limitations associated with them. Firstly, DTDs do not support data types. Secondly, DTDs do not support namespaces. Thirdly, DTDs do not allow developers to accurately define the number of permitted occurrences of elements within their parent element.

An XML schema is concerned with the structure of an XML instance document by defining what each element must or may contain. An element is limited by its type. For example, an element of complex type can contain child elements and attributes, whereas a simple-type element can only contain text. The diagram below gives a first look at the types of XML Schema elements.

Three main purposes are fulfilled by schema documents. Firstly, they can be used to validate XML documents. Secondly, they can be used as a dictionary or grammar for the creation of a given class of XML document. And, thirdly, they can be used to provide documentation for XML documents.

An XML schema is itself an XML document and it contains definitions of all elements and attributes permitted in a class of XML documents. The schema also specifies the structure or hierarchy to which elements must adhere and the type of content each particular element may contain. Elements may be of the simple or complex type. Complex type elements may contain child elements as well as attributes. Simple type element may only contain data. XML documents using a particular schema are referred to as instances of the schema. An XML instance that correctly adheres to its associated schema is said to be valid.

Validation is normally the key role of schema documents. Validation offers many benefits. It ensures the consistency of data within a document. It ensures that data has the right structure and internal hierarchy. It ensures that data within the document structure is of the correct type. It allows us to receive data from multiple sources.

Most XML documents are produced by programs and scripts written to extract information held in databases and transform it into XML. However, it is also possible for human beings to create XML documents. Schemas can be used during this process to assist in the document creation process. XML schemas also provide a mechanism for documenting XML documents and form an important part of the specification of XML vocabularies.

Author is a developer and trainer with Macresource Computer Training, an independent computer training company offering XML Classes in London and throughout the UK.

Post to Twitter Tweet This Post

Using For-each Loops In XSLT

by Alan Spencer

Extensible Stylesheet Language (XSL) is an XML-related technology which is used to transform XML data. XML file are used to set the ground-rules for a given body of data and to describe the data itself. XSL allows us to take that data and convert it into information which can be displayed in a web browser window or opened with a text editor. It can also be used to create an XML file which is a modified version of an original XML file.

When displaying elements in a browser window, the XSL elements which enable looping through an XML tree and decision-making really come into their own. One of the key methods used in XSL for looping through XML elements is the “For-each” element. This uses the “select” attribute to specify which element is to be targeted in the loop. The “For-each” element has both an opening and a closing tag and any lines of code placed between the opening and closing tags will be repeated each time the element specified in the “select” attribute is encountered in the XML file.

For example, let’s say we have an XML file containing a list of companies and the addresses of their websites. Let’s also say that the element which we will be targeting in the XSL “For-each” statement is called “company” and that, within each company element, we have a “name”, “telephone” and “website” element. Before beginning our “For-each” loop, we could place the opening tag of an HTML “ul” element (an unordered or bulleted list).

Inside the “For-each” loop, we could output an HTML “li” element and, between its opening and closing tags, output the contents of the “name” and “telephone” elements from the XML file. The data in the “website” element in the input XML could be used to convert the “name” into a clickable link.

As for the appearance of the data in the resulting HTML output, this would be controlled by a linked CSS file. CSS can be used to format the output in any way we like, so our bulleted list can take on pretty much any appearance we desire.

About the Author:

Post to Twitter Tweet This Post

Categories
August 2010
M T W T F S S
« Jul    
 1
2345678
9101112131415
16171819202122
23242526272829
3031