]> XML Schema for JSP 1.2. Contributed 00/7/22 Bob Foster, WebGain. Note: All patterns tested with ActiveState Perl 5.6.0.616-MSWin32. (\p{L}|_) form is used instead of equivalent [\p{L}_] because when tested \p{L} didn't work inside []. Tested patterns were copied to schema eliminating ^ and $ at start and end and replacing \$ with $. Suggested status of schema: This schema is based upon the 7 April 2000 final draft of the w3c XMLSchema working group (http://www.w3.org/XML/Schema). XMLSchema is still a work in progress and the schema may need to be updated to reflect later versions. A JSP translator should reject an XML-format file that is not strictly valid according to this schema or does not observe the constraints documented here. A translator is not required to use this schema for validation, to use a validating parser or even to be namespace-aware. Body defines the "top-level" elements in root and beanInfo. Bool would be boolean except it does not accept 1 and 0. Identifier is an unqualified Java identifier. TypeName is one or more Java identifiers separated by dots with no whitespace. ImportList is one or more typeNames separated by commas. Whitespace is allowed before and after the comma. SetProp is an Identifier or *. RelativeURL is a uriReference with no colon character before the first /, ? or #, if any (RFC2396). Length is nn or nn%. The root element of all JSP documents is named root. In a document, root must be used as: <jsp:root xmlns:jsp="jsp-1.2-schema-namespace-identifier"> ... </jsp:root> In other words, the namespace prefix "jsp:" must be explicitly specified for all JSP-defined elements. This allows both Schema-validating parsers and parsers that are not namespace-aware to operate properly. Authors may, if they wish, include schema location information. If specified, the information may appear as attributes of the root element as follows: xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:schemaLocation="jsp-1.2-schema-namespace-identifier jsp-1.2-schema-xsd-file-location" Documents that are intended to be schema-valid should not specify the system identifier of a DTD in a DOCTYPE declaration. (The JSP DTD exports no general entities and is not conditional on any parameter entities.) directive.page is the "page directive". directive.include is the "include directive". directive.taglib is the "taglib directive". In a tag library tag, xmlns must be specified as: <tagPrefix:tagname xmlns:tagPrefix="uri" ...> where tagPrefix and uri are as specified in a taglib directive. This allows both Schema-validating parsers and parsers that are not namespace-aware to operate properly. Note: The xmlns attribute must be omitted in a .jsp-format JSP file. The .jsp-to-XML translator will supply it. Constraint: A given tagPrefix must be used with the same uri throughout the document. useBean instantiates or accesses a bean in the specified scope. Constraint: The allowed combinations of attributes are: class [type] | type [( class | beanName)] setProperty changes the value of an object property. Constraint: The object named by the name must have been "introduced" to the JSP processor using either the jsp:useBean action or a custom action with an associated VariableInfo entry for this name. ???The spec is interpreted as restricting the values of property to (Identifier | '*'). Constraint: The allowed combinations of attributes are: (property="*" | property="^*" (value | param)) getProperty obtains the value of an object property. Constraint: The object named by the name must have been "introduced" to the JSP processor using either the jsp:useBean action or a custom action with an associated VariableInfo entry for this name. ???The spec is interpreted as restricting the values of property to Identifier.