logo
WXT, a Web and Xml Tool
from Ostfold College
: Introduction > Documentation > The Script >Validation

Validation

You may validate your script according to the scheme quoted below. This scheme is distributed with wxt and may be used from the GUI, or you may use any other tool you want to validate your script.

Note that the validation in some respects perform a more strict control than wxt. WXT is more relaxed when it comes to the sequence of elements. You may thus live happily with a script that does not validate, but validation is an assurance that you have a usefull script.

<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="commons">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="location" type="xs:anyURI" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="addressing">
    <xs:complexType>
      <xs:attribute name="tagname" type="xs:string" use="required"/>
      <xs:attribute name="attribute" type="xs:string" use="optional"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="content">
    <xs:complexType>
      <xs:attribute name="location" type="xs:string" use="required"/>
      <xs:attribute name="transformation" type="xs:string" use="optional"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="command">
    <xs:complexType>
      <xs:attribute name="line" type="xs:string" use="required"/>
      <xs:attribute name="wait" type="xs:string" use="optional"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="textcontent">
    <xs:complexType>
      <xs:attribute name="location" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="description" type="xs:string"/>
  <xs:element name="group">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="description" minOccurs="0"/>
        <xs:element ref="commons" minOccurs="0"/>
        <xs:element ref="option" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="template" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="transformation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="command" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="page" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="location" type="xs:anyURI" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="option">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="page">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="description" minOccurs="0"/>
        <xs:element ref="option" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="thumb" minOccurs="0"/>
        <xs:element ref="content" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="textcontent" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="page" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="template" type="xs:string" use="required"/>
      <xs:attribute name="location" type="xs:anyURI" use="required"/>
      <xs:attribute name="transformation" type="xs:string" use="optional"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="program">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="location" type="xs:anyURI" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="script">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="option" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="program" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="addressing" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="template" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="transformation" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="group" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="version" type="xs:decimal" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="template">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="location" type="xs:anyURI" use="required"/>
      <xs:attribute name="transformation" type="xs:string" use="optional"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="transformation">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="parameter" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="buildoption" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="location" type="xs:anyURI" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="thumb">
    <xs:complexType>
      <xs:attribute name="location" type="xs:anyURI" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="parameter">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="buildoption">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="property">
    <xs:complexType mixed="true">
      <xs:sequence minOccurs="0">
        <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="value" type="xs:string" use="optional"/>
    </xs:complexType>
  </xs:element>
</xs:schema>

WXT, a Web and Xml Tool from Ostfold College: http://www.ia.hiof.no/~borres/wxtdoc/


Bygget med WXT : 11.jan.2009