Foo Schema

Table of Contents

top

Schema Document Properties

Target Namespace http://www.ibm.com/WAFLSchema
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.

Declared Namespaces

Prefix Namespace
Default namespace http://www.w3.org/2001/XMLSchema
xml http://www.w3.org/XML/1998/namespace
tns http://www.ibm.com/WAFLSchema
Schema Component Representation
<schema targetNamespace="http://www.ibm.com/WAFLSchema" elementFormDefault="qualified">
...
</schema>
top

Global Declarations

Element: arg-to-orig-call

  • This element can be used wherever the following element is referenced:
Name arg-to-orig-call
Type tns:ArgToOrigCallExprType
Nillable no
Abstract no
XML Instance Representation
<tns:arg-to-orig-call
pos="int [0..1]"/>
Schema Component Representation
<element name="arg-to-orig-call" type="tns:ArgToOrigCallExprType" substitutionGroup="tns:synth-expr"/>
top

Element: assignment

  • This element can be used wherever the following element is referenced:
Name assignment
Type tns:AssignmentExprType
Nillable no
Abstract no
XML Instance Representation
<tns:assignment
filename="string [0..1]"
lineNumber="int [0..1]"
columnNumber="int [0..1]">
<tns:l-value> tns:SynthExprHolderType </tns:l-value> [1]
<tns:r-value> tns:SynthExprHolderType </tns:r-value> [1]
</tns:assignment>
Schema Component Representation
<element name="assignment" type="tns:AssignmentExprType" substitutionGroup="tns:synth-expr"/>
top

Element: call

  • This element can be used wherever the following element is referenced:
Name call
Type tns:CallExprType
Nillable no
Abstract no
XML Instance Representation
<tns:call
signature="string [0..1]"
filename="string [0..1]"
lineNumber="int [0..1]"
columnNumber="int [0..1]">
<tns:actual-parameter> tns:ActualParameterType </tns:actual-parameter> [0..*]
</tns:call>
Schema Component Representation
<element name="call" type="tns:CallExprType" substitutionGroup="tns:synth-expr"/>
top

Element: formal

  • This element can be used wherever the following element is referenced:
Name formal
Type tns:FormalRefExprType
Nillable no
Abstract no
XML Instance Representation
<tns:formal
pos="int [0..1]"/>
Schema Component Representation
<element name="formal" type="tns:FormalRefExprType" substitutionGroup="tns:synth-expr"/>
top

Element: global

  • This element can be used wherever the following element is referenced:
Name global
Type tns:GlobalRefExprType
Nillable no
Abstract no
XML Instance Representation
<tns:global
id="string [0..1]"/>
Schema Component Representation
<element name="global" type="tns:GlobalRefExprType" substitutionGroup="tns:synth-expr"/>
top

Element: local

  • This element can be used wherever the following element is referenced:
Name local
Type tns:LocalRefExprType
Nillable no
Abstract no
XML Instance Representation
<tns:local
id="string [0..1]"/>
Schema Component Representation
<element name="local" type="tns:LocalRefExprType" substitutionGroup="tns:synth-expr"/>
top

Element: object-ref

  • This element can be used wherever the following element is referenced:
Name object-ref
Type tns:ObjectRefExprType
Nillable no
Abstract no
XML Instance Representation
<tns:object-ref
ap="string [0..1]">
<tns:synth-expr> ... </tns:synth-expr> [1]
</tns:object-ref>
Schema Component Representation
<element name="object-ref" type="tns:ObjectRefExprType" substitutionGroup="tns:synth-expr"/>
top

Element: synth-expr

Name synth-expr
Type tns:SynthExprType
Nillable no
Abstract yes
Documentation This is a placeholder abstract element used only to enable the use of substitution groups to indicate which elements are valid in places where synthetic expressions are expected.
XML Instance Representation
<tns:synth-expr/>
Schema Component Representation
<element name="synth-expr" type="tns:SynthExprType" abstract="true"/>
top

Element: taint

  • This element can be used wherever the following element is referenced:
Name taint
Type tns:TaintExprType
Nillable no
Abstract no
XML Instance Representation
<tns:taint
type="string [0..1]"
name="string [0..1]"/>
Schema Component Representation
<element name="taint" type="tns:TaintExprType" substitutionGroup="tns:synth-expr"/>
top

Element: wafl

Name wafl
Type tns:WAFLType
Nillable no
Abstract no
XML Instance Representation
<tns:wafl>
<tns:global-bean-decls> tns:GlobalBeanDeclsType </tns:global-bean-decls> [1]
<tns:synthetic-methods> [1]
<tns:synthetic-method> tns:SyntheticMethodType </tns:synthetic-method> [0..*]
</tns:synthetic-methods>
<tns:entrypoint-signatures> [1]
<tns:entrypoint-sig> string </tns:entrypoint-sig> [0..*]
</tns:entrypoint-signatures>
<tns:url-mappings> [1]
<tns:url-mapping> tns:URLMappingType </tns:url-mapping> [0..*]
</tns:url-mappings>
<tns:call-replacements> [1]
<tns:replace-call> tns:ReplaceCallType </tns:replace-call> [0..*]
</tns:call-replacements>
</tns:wafl>
Schema Component Representation
<element name="wafl" type="tns:WAFLType"/>
top

Global Definitions

Attribute Group: FilePositionInfo

Name FilePositionInfo
Documentation A group of attributes that indicate file position information, i.e., the filename, the line number, and the column number. Note that the line number and column number indicate the _end_ of the referenced entity rather than the beginning.
XML Instance Representation
filename="string [0..1]"
lineNumber="int [0..1]"
columnNumber="int [0..1]"
Schema Component Representation
<attributeGroup name="FilePositionInfo">
<attribute name="filename" type="string"/>
<attribute name="lineNumber" type="int"/>
<attribute name="columnNumber" type="int"/>
</attributeGroup>
top

Complex Type: ActualParameterType

Super-types: None
Sub-types: None
Name ActualParameterType
Abstract no
Documentation An actual parameter passed to a call. The pos attribute gives the parameter position, where 0 is the first parameter. The synthetic expression sub-element represents the value to be passed.
XML Instance Representation
<...
pos="int [0..1]">
<tns:synth-expr> ... </tns:synth-expr> [1]
</...>
Schema Component Representation
<complexType name="ActualParameterType">
<sequence>
<element ref="tns:synth-expr"/>
</sequence>
<attribute name="pos" type="int"/>
</complexType>
top

Complex Type: ArgToOrigCallExprType

Super-types: SynthExprType < ArgToOrigCallExprType (by extension)
Sub-types: None
Name ArgToOrigCallExprType
Abstract no
Documentation Used to reference an actual parameter of a call being replaced or the variable holding the return value of the call being replaced. This element is only valid when appearing as a sub-element of a replace-call element. If the "pos" attribute is greater than or equal to 0, the element represents the actual parameter to the call at that position, where the first parameter is at position 0. If the "pos" attribute is -1, the element represents the variable holding the return value of the call.
XML Instance Representation
<...
pos="int [0..1]"/>
Schema Component Representation
<complexType name="ArgToOrigCallExprType">
<complexContent>
<extension base="tns:SynthExprType">
<attribute name="pos" type="int"/>
</extension>
</complexContent>
</complexType>
top

Complex Type: AssignmentExprType

Super-types: SynthExprType < AssignmentExprType (by extension)
Sub-types: None
Name AssignmentExprType
Abstract no
Documentation A synthetic expression element representing an assignment. The l-value sub-element gives a synthetic expression representing the left-hand side of the assignment, and the r-value sub-element gives the right-hand side. Note that not all possible synthetic expressions are valid l-values; we have not yet attempted to constrain the l-value types further here, but may do so in the future.
XML Instance Representation
<...
filename="string [0..1]"
lineNumber="int [0..1]"
columnNumber="int [0..1]">
<tns:l-value> tns:SynthExprHolderType </tns:l-value> [1]
<tns:r-value> tns:SynthExprHolderType </tns:r-value> [1]
</...>
Schema Component Representation
<complexType name="AssignmentExprType">
<complexContent>
<extension base="tns:SynthExprType">
<sequence>
<element name="l-value" type="tns:SynthExprHolderType"/>
<element name="r-value" type="tns:SynthExprHolderType"/>
</sequence>
<attributeGroup ref="tns:FilePositionInfo"/>
</extension>
</complexContent>
</complexType>
top

Complex Type: CallExprType

Super-types: SynthExprType < CallExprType (by extension)
Sub-types: None
Name CallExprType
Abstract no
Documentation A synthetic expression representing a method call. The signature attribute gives the method signature in VDB format. Actual parameters for the call and file position information are also provided.
XML Instance Representation
<...
signature="string [0..1]"
filename="string [0..1]"
lineNumber="int [0..1]"
columnNumber="int [0..1]">
<tns:actual-parameter> tns:ActualParameterType </tns:actual-parameter> [0..*]
</...>
Schema Component Representation
<complexType name="CallExprType">
<complexContent>
<extension base="tns:SynthExprType">
<sequence>
<element name="actual-parameter" type="tns:ActualParameterType" maxOccurs="unbounded" minOccurs="0"/>
</sequence>
<attribute name="signature" type="string"/>
<attributeGroup ref="tns:FilePositionInfo"/>
</extension>
</complexContent>
</complexType>
top

Complex Type: CallSiteInfoType

Super-types: None
Sub-types: None
Name CallSiteInfoType
Abstract no
Documentation Information on some existing call site in the application. The caller attribute gives the signature of the caller method in VDB format. The call-sig attribute gives the signature of the callee method in VDB format. The bytecodeIndex attribute gives the Java bytecode index of the call.
XML Instance Representation
<...
caller="string [0..1]"
call-sig="string [0..1]"
bytecodeIndex="int [0..1]"/>
Schema Component Representation
<complexType name="CallSiteInfoType">
<attribute name="caller" type="string"/>
<attribute name="call-sig" type="string"/>
<attribute name="bytecodeIndex" type="int"/>
</complexType>
top

Complex Type: FormalRefExprType

Super-types: SynthExprType < FormalRefExprType (by extension)
Sub-types: None
Name FormalRefExprType
Abstract no
Documentation A reference to a formal parameter of the enclosing synthetic method. The pos attribute gives the parameter position, where the first parameter is in position 0 (note that for an instance method, the receiver (or 'this') parameter is the first one).
XML Instance Representation
<...
pos="int [0..1]"/>
Schema Component Representation
<complexType name="FormalRefExprType">
<complexContent>
<extension base="tns:SynthExprType">
<attribute name="pos" type="int"/>
</extension>
</complexContent>
</complexType>
top

Complex Type: GlobalBeanDeclsType

Super-types: None
Sub-types: None
Name GlobalBeanDeclsType
Abstract no
XML Instance Representation
<...>
<tns:object-decl> tns:ObjectDeclType </tns:object-decl> [0..*]
</...>
Schema Component Representation
<complexType name="GlobalBeanDeclsType">
<sequence>
<element name="object-decl" type="tns:ObjectDeclType" maxOccurs="unbounded" minOccurs="0"/>
</sequence>
</complexType>
top

Complex Type: GlobalRefExprType

Super-types: SynthExprType < GlobalRefExprType (by extension)
Sub-types: None
Name GlobalRefExprType
Abstract no
Documentation Reference to some global object with the name given by the id attribute.
XML Instance Representation
<...
id="string [0..1]"/>
Schema Component Representation
<complexType name="GlobalRefExprType">
<complexContent>
<extension base="tns:SynthExprType">
<attribute name="id" type="string"/>
</extension>
</complexContent>
</complexType>
top

Complex Type: LocalDeclType

Super-types: None
Sub-types: None
Name LocalDeclType
Abstract no
Documentation Used for declaring a local variable in a synthetic method. The id attribute gives a name for the local that may be used in later local-ref elements to refer to the local. The type and properties of the declaration can take one of two forms: (1) a type attribute is provided, but no properties are provided, or (2) no type attribute is provided, but a list of properties are provided as sub-elements. In case (1), the type attribute gives the concrete type of the local. In case (2), the concrete type of the local should be some type that contains fields corresponding to the provided properties. The initialization of the local is unspecified; we assume that, like a JavaBean, some no-argument constructor can be invoked.
XML Instance Representation
<...
id="string [0..1]"
type="string [0..1]">
<tns:property> tns:PropertyType </tns:property> [0..*]
</...>
Schema Component Representation
<complexType name="LocalDeclType">
<sequence>
<element name="property" type="tns:PropertyType" maxOccurs="unbounded" minOccurs="0"/>
</sequence>
<attribute name="id" type="string"/>
<attribute name="type" type="string" use="optional"/>
</complexType>
top

Complex Type: LocalRefExprType

Super-types: SynthExprType < LocalRefExprType (by extension)
Sub-types: None
Name LocalRefExprType
Abstract no
Documentation A reference to a local variable, with the name given in the id attribute.
XML Instance Representation
<...
id="string [0..1]"/>
Schema Component Representation
<complexType name="LocalRefExprType">
<complexContent>
<extension base="tns:SynthExprType">
<attribute name="id" type="string"/>
</extension>
</complexContent>
</complexType>
top

Complex Type: ObjectDeclType

Super-types: None
Sub-types: None
Name ObjectDeclType
Abstract no
Documentation Used for declaring an object reference whose scope is outside a method, e.g., a global variable. The id attribute gives a name for the object that may be used in later object-ref elements to refer to the local. The type and properties of the declaration can take one of two forms: (1) a type attribute is provided, but no properties are provided, or (2) no type attribute is provided, but a list of properties are provided as sub-elements. In case (1), the type attribute gives the concrete type of the local. In case (2), the concrete type of the local should be some type that contains fields corresponding to the provided properties. The lifespan attribute can either be "entrypoint," indicating that this reference goes out of scope at the end of each entrypoint (i.e., HTTP request), or "global," indicating that this reference is live across multiple entrypoints.
XML Instance Representation
<...
id="string [0..1]"
type="string [0..1]"
lifespan="string (value comes from list: {'entrypoint'|'global'}) [0..1]">
Start Sequence [0..*]
<tns:property> tns:PropertyType </tns:property> [1]
End Sequence
</...>
Schema Component Representation
<complexType name="ObjectDeclType">
<sequence maxOccurs="unbounded" minOccurs="0">
<element name="property" type="tns:PropertyType"/>
</sequence>
<attribute name="id" type="string"/>
<attribute name="type" type="string"/>
<attribute name="lifespan">
<simpleType>
<restriction base="string">
<enumeration value="entrypoint"/>
<enumeration value="global"/>
</restriction>
</simpleType>
</attribute>
</complexType>
top

Complex Type: ObjectRefExprType

Super-types: SynthExprType < ObjectRefExprType (by extension)
Sub-types: None
Name ObjectRefExprType
Abstract no
Documentation An expression representing a reference to some object. The synthetic expression child element gives the base pointer, and the ap attribute gives the access path off of that base pointer. An access path is a possibly empty sequence of field names separated by the '.' character.
XML Instance Representation
<...
ap="string [0..1]">
</...>
Schema Component Representation
<complexType name="ObjectRefExprType">
<complexContent>
<extension base="tns:SynthExprType">
<sequence>
<element ref="tns:synth-expr"/>
</sequence>
<attribute name="ap" type="string"/>
</extension>
</complexContent>
</complexType>
top

Complex Type: PropertyType

Super-types: None
Sub-types: None
Name PropertyType
Abstract no
Documentation Used for declaring a property of some object. The id attribute gives a name for the property, and the type attribute gives the property's declared type.
XML Instance Representation
<...
id="string [0..1]"
type="string [0..1]"/>
Schema Component Representation
<complexType name="PropertyType">
<attribute name="id" type="string"/>
<attribute name="type" type="string"/>
</complexType>
top

Complex Type: ReplaceCallType

Super-types: None
Sub-types: None
Name ReplaceCallType
Abstract no
Documentation Element representing a call replacement. Sub-elements provide information on the call site to be replaced and the expression that should replace it.
XML Instance Representation
<...>
<tns:call-site-info> tns:CallSiteInfoType </tns:call-site-info> [1]
<tns:replacement> tns:SynthExprHolderType </tns:replacement> [1]
</...>
Schema Component Representation
<complexType name="ReplaceCallType">
<sequence>
<element name="call-site-info" type="tns:CallSiteInfoType"/>
<element name="replacement" type="tns:SynthExprHolderType"/>
</sequence>
</complexType>
top

Complex Type: SynthExprHolderType

Super-types: None
Sub-types: None
Name SynthExprHolderType
Abstract no
Documentation A common type for elements that have a synthetic expression as a sub-element.
XML Instance Representation
<...>
<tns:synth-expr> ... </tns:synth-expr> [1]
</...>
Schema Component Representation
<complexType name="SynthExprHolderType">
<sequence>
<element ref="tns:synth-expr"/>
</sequence>
</complexType>
top

Complex Type: SynthExprType

Super-types: None
Sub-types:
Name SynthExprType
Abstract no
Documentation This is just a placeholder type for any element representing an expression in a synthetic method.
XML Instance Representation
<.../>
Schema Component Representation
<complexType name="SynthExprType"/>
top

Complex Type: SynthMethodBodyType

Super-types: None
Sub-types: None
Name SynthMethodBodyType
Abstract no
Documentation The body of a synthetic method, which is simply a sequence of synthetic expressions.
XML Instance Representation
<...>
<tns:synth-expr> ... </tns:synth-expr> [0..*]
</...>
Schema Component Representation
<complexType name="SynthMethodBodyType">
<sequence>
<element ref="tns:synth-expr" maxOccurs="unbounded" minOccurs="0"/>
</sequence>
</complexType>
top

Complex Type: SyntheticMethodType

Super-types: None
Sub-types: None
Name SyntheticMethodType
Abstract no
Documentation Represents a synthetic method. The "sig" attribute gives the signature of the method in VDB format. Sub-elements give declarations of locals and the method body.
XML Instance Representation
<...
sig="string [0..1]">
<tns:local-decl> tns:LocalDeclType </tns:local-decl> [0..*]
<tns:body> tns:SynthMethodBodyType </tns:body> [1]
</...>
Schema Component Representation
<complexType name="SyntheticMethodType">
<sequence>
<element name="local-decl" type="tns:LocalDeclType" maxOccurs="unbounded" minOccurs="0"/>
<element name="body" type="tns:SynthMethodBodyType"/>
</sequence>
<attribute name="sig" type="string"/>
</complexType>
top

Complex Type: TaintExprType

Super-types: SynthExprType < TaintExprType (by extension)
Sub-types: None
Name TaintExprType
Abstract no
Documentation A synthetic expression representing some tainted data. The type attribute gives the type of tainted data (e.g., "parameter" for taint coming from an HTTP request parameter), and the optional name parameter gives an associated name (e.g., "address" if the taint comes from the HTTP request parameter named "address").
XML Instance Representation
<...
type="string [0..1]"
name="string [0..1]"/>
Schema Component Representation
<complexType name="TaintExprType">
<complexContent>
<extension base="tns:SynthExprType">
<attribute name="type" type="string"/>
<attribute name="name" type="string" use="optional"/>
</extension>
</complexContent>
</complexType>
top

Complex Type: URLMappingType

Super-types: None
Sub-types: None
Name URLMappingType
Abstract no
Documentation A single URL mapping. The signature attribute gives the entrypoint method signature in VDB format, and the URL attribute gives the corresponding URL pattern, which can include the '*' regular expression operator.
XML Instance Representation
<...>
<tns:signature> string </tns:signature> [1]
<tns:url> string </tns:url> [1]
</...>
Schema Component Representation
<complexType name="URLMappingType">
<sequence>
<element name="signature" type="string"/>
<element name="url" type="string"/>
</sequence>
</complexType>
top

Complex Type: WAFLType

Super-types: None
Sub-types: None
Name WAFLType
Abstract no
Documentation Type of the top-level element in a WAFL spec. The global-bean-decls sub-element holds all the global object declarations. Then, the synthetic-methods sub-element provides all synthetic methods used in specifying the application. The entrypoint-signatures sub-element lists the method signatures of all entrypoint methods, some of which may be synthetic. The url-mappings element gives all discovered mappings from URLs to entrypoints. Finally, the call-replacements sub-element gives information on what calls in the application should be replaced and what they should be replaced with.
XML Instance Representation
<...>
<tns:global-bean-decls> tns:GlobalBeanDeclsType </tns:global-bean-decls> [1]
<tns:synthetic-methods> [1]
<tns:synthetic-method> tns:SyntheticMethodType </tns:synthetic-method> [0..*]
</tns:synthetic-methods>
<tns:entrypoint-signatures> [1]
<tns:entrypoint-sig> string </tns:entrypoint-sig> [0..*]
</tns:entrypoint-signatures>
<tns:url-mappings> [1]
<tns:url-mapping> tns:URLMappingType </tns:url-mapping> [0..*]
</tns:url-mappings>
<tns:call-replacements> [1]
<tns:replace-call> tns:ReplaceCallType </tns:replace-call> [0..*]
</tns:call-replacements>
</...>
Schema Component Representation
<complexType name="WAFLType">
<sequence>
<element name="global-bean-decls" type="tns:GlobalBeanDeclsType"/>
<element name="synthetic-methods">
<complexType>
<sequence>
<element name="synthetic-method" type="tns:SyntheticMethodType" maxOccurs="unbounded" minOccurs="0"/>
</sequence>
</complexType>
</element>
<element name="entrypoint-signatures">
<complexType>
<sequence>
<element name="entrypoint-sig" type="string" maxOccurs="unbounded" minOccurs="0"/>
</sequence>
</complexType>
</element>
<element name="url-mappings">
<complexType>
<sequence>
<element name="url-mapping" type="tns:URLMappingType" maxOccurs="unbounded" minOccurs="0"/>
</sequence>
</complexType>
</element>
<element name="call-replacements">
<complexType>
<sequence>
<element name="replace-call" type="tns:ReplaceCallType" maxOccurs="unbounded" minOccurs="0"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
top

Legend

Complex Type:

Schema Component Type

AusAddress

Schema Component Name
Super-types: Address < AusAddress (by extension)
Sub-types:
  • QLDAddress (by restriction)
If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.
Name AusAddress
Abstract no
The table above displays the properties of this schema component.
XML Instance Representation
<... country="Australia">
<unitNo> string </unitNo> [0..1]
<houseNo> string </houseNo> [1]
<street> string </street> [1]
Start Choice[1]
<city> string </city> [1]
<town> string </town> [1]
End Choice
<state> AusStates </state> [1]
<postcode> string <<pattern = [1-9][0-9]{3}>> </postcode> [1]?
</...>

The XML Instance Representation table above shows the schema component's content as an XML instance.

Schema Component Representation
<complexTypename="AusAddress">
<complexContent>
<extensionbase="Address">
<sequence>
<elementname="state" type="AusStates"/>
<elementname="postcode">
<simpleType>
<restrictionbase="string">
<patternvalue="[1-9][0-9]{3}"/>
</restriction>
</simpleType>
</element>
</sequence>
<attributename="country" type="string" fixed="Australia"/>
</extension>
</complexContent>
</complexType>
The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)
top

Glossary

Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.

All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.

Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.

Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.

Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.

Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.

Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.

Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.

Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.

Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.

Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.

Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).

Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.

Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.

Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.

Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.

Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

top