A method comprising: receiving a base schema defining one or more classes of elements that conform to a data description language; receiving a constraint template that defines requirements for instances of the elements defined by the base schema, wherein the constraint template is an extensible markup language document that confirms to a constraint template schema that controls a structure of the constraint template; and receiving a definition template that defines a sub-class for the elements, wherein the definition template is an XML document that conforms to a definition template schema that controls a structure of the definition template; executing a schema generator on a computer system to generate schema information by: (i) dynamically generating a data structure representing the classes of elements defined by the base schema and applying the definition template to the base schema to dynamically extend the schema information to include the sub-classes of elements defined within the definition template; and (ii) dynamically updating the schema information to include the restrictions defined by the constraint template; and executing a validation engine on the computer system to verify, using the schema information, that instances of the elements within an XML document comply with the classes defined by the base schema, the sub-classes defined by the definition template, and the requirements defined by the constraint template. receiving a base schema defining one or more classes of elements that conform to a data description language; receiving a constraint template that defines requirements for instances of the elements defined by the base schema, wherein the constraint template is an extensible markup language document that confirms to a constraint template schema that controls a structure of the constraint template; and receiving a definition template that defines a sub-class for the elements, wherein the definition template is an XML document that conforms to a definition template schema that controls a structure of the definition template; executing a schema generator on a computer system to generate schema information by: (i) dynamically generating a data structure representing the classes of elements defined by the base schema and applying the definition template to the base schema to dynamically extend the schema information to include the sub-classes of elements defined within the definition template; and (ii) dynamically updating the schema information to include the restrictions defined by the constraint template; and (i) dynamically generating a data structure representing the classes of elements defined by the base schema and applying the definition template to the base schema to dynamically extend the schema information to include the sub-classes of elements defined within the definition template; and (ii) dynamically updating the schema information to include the restrictions defined by the constraint template; and executing a validation engine on the computer system to verify, using the schema information, that instances of the elements within an XML document comply with the classes defined by the base schema, the sub-classes defined by the definition template, and the requirements defined by the constraint template.