W3C

HMRC-core-v2-0

The document http://www.hmrc.gov.uk/schemas/core-v2-0.xsd has been classified as being possibly an Advanced XML Schema Patterns for Databinding 1.0 conformant document as it only exhibits the following patterns:

Status Nodes Name XPath
advanced NoTargetNamespace .[not(@targetNamespace)]/ (.)
basic QualifiedLocalElements .[@elementFormDefault = 'qualified']/ (@elementFormDefault)
basic UnqualifiedLocalAttributes .[not(@attributeFormDefault) or @attributeFormDefault = 'unqualified']/ (., @attributeFormDefault)
basic SchemaVersion ./@version
basic DocumentationElement .//xs:annotation/xs:documentation/ (.., ., .//*, .//@*)
advanced AppinfoElement .//xs:annotation/xs:appinfo/ (.., ., .//*, .//@*)
basic IdentifierName .//.[matches(@name, "^[A-Za-z_]([A-Za-z0-9_]0 31)$")]/ (@name)
basic NonIdentifierName .//.[@name and not(matches(@name, "^[A-Za-z_]([A-Za-z0-9_]0 31)$"))]/ (@name)
advanced ElementTypeDefaultNamespace .//xs:element[@name and @type and not(contains(@type, ':'))]/ (@name, @type)
basic MinOccurs1 .//.[@minOccurs = '1']/ (@minOccurs)
basic MaxOccurs1 .//.[@maxOccurs = '1']/ (@maxOccurs)
basic Id .//@id
basic ElementMinOccurs0 .//xs:element[@minOccurs = '0' and (not(@maxOccurs) or @maxOccurs = '1')]/ (@minOccurs, @maxOccurs)
basic ElementMinOccurs1 .//xs:element[@minOccurs = '1' and (not(@maxOccurs) or @maxOccurs = '1')]/ (@minOccurs, @maxOccurs)
basic ElementMaxOccurs1 .//xs:element[(not(@minOccurs) or @minOccurs = '1') and @maxOccurs = '1']/ (@minOccurs, @maxOccurs)
basic ElementMinOccurs0MaxOccursUnbounded .//xs:element[@minOccurs = '0' and @maxOccurs = 'unbounded']/ (@minOccurs, @maxOccurs)
basic ElementMinOccurs1MaxOccursUnbounded .//xs:element[(not(@minOccurs) or @minOccurs = '1') and @maxOccurs = 'unbounded']/ (@minOccurs, @maxOccurs)
advanced ElementMaxOccursFinite .//xs:element[@maxOccurs and not(@maxOccurs = '0' or @maxOccurs = '1' or @maxOccurs = 'unbounded')]/ (@maxOccurs)
basic AttributeOptional .//xs:attribute[@use = 'optional']/ (@use)
advanced AttributeRequired .//xs:attribute[@use = 'required']/ (@use)
basic GlobalSimpleType ./xs:simpleType[@name]/ (., @name)
basic GlobalComplexType ./xs:complexType[@name]/ (., @name)
basic StringEnumerationType .//xs:simpleType/xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string') and xs:enumeration]/ (., @base, xs:enumeration/(., @value))
advanced SimpleTypeEnumerationType .//xs:simpleType/xs:restriction[@base and namespace-uri-from-QName(resolve-QName(@base,.)) != 'http://www.w3.org/2001/XMLSchema' ]/ (., @base, xs:enumeration/(., @value))
basic ComplexTypeAttribute .//xs:complexType/xs:attribute[@name]/ (., @name)
basic ComplexTypeSequence .//xs:complexType/xs:sequence/ (., xs:element/(., @name))
basic GlobalElementSequence ./xs:element[@name]/xs:complexType/xs:sequence[xs:element]/ (../../(., @name), .., ., xs:element/(., @name))
advanced ExtendedSimpleContent .//xs:complexType/xs:simpleContent/xs:extension[@base]/ (.., ., ./@base, xs:attribute/ (., @name))
basic SequenceElement .//xs:sequence/xs:element/(.)
basic SequenceSingleRepeatedElement .//xs:sequence[count(xs:element) = 1]/xs:element[@maxOccurs = 'unbounded']/ (., @maxOccurs)
advanced ElementTypeReferenceUnqualified .//xs:element[@name and @type and namespace-uri-from-QName(resolve-QName(@type,.)) != 'http://www.w3.org/2001/XMLSchema' and not(contains(@type, ':'))]/ (., @name, @type)
advanced ElementReferenceUnqualified .//xs:element[@ref and not(contains(@ref, ':'))]/ (., @ref)
advanced AttributeTypeReferenceUnqualified .//xs:attribute[@name and @type and namespace-uri-from-QName(resolve-QName(@type,.)) != 'http://www.w3.org/2001/XMLSchema' and not(contains(@type, ':'))]/ (., @name, @type)
advanced DateElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:date')]
basic AnyURIElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:anyURI')]
basic NCNameElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:NCName')]
advanced StringSimpleTypePattern .//xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string')]/xs:pattern[@value]/ (.., ../@base, ., @value)
advanced DecimalSimpleTypePattern .//xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:decimal')]/xs:pattern[@value]/ (.., ../@base, ., @value)
advanced RestrictedStringMinLength .//xs:simpleType/xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string')]/xs:minLength[@value]/ (.., ../@base, ., @value)
advanced RestrictedStringMaxLength .//xs:simpleType/xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string')]/xs:maxLength[@value]/ (.., ../@base, ., @value)
advanced RestrictedStringMinMaxLength .//xs:simpleType/xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string') and xs:minLength/@value and xs:maxLength/@value]/ (., @base, xs:minLength/(., @value), xs:maxLength/(., @value))
advanced RestrictedMinInclusive .//xs:simpleType/xs:restriction/xs:minInclusive[@value]/(.., ../@base, ., @value)
advanced RestrictedMaxInclusive .//xs:simpleType/xs:restriction/xs:maxInclusive[@value]/(.., ../@base, ., @value)
advanced RestrictedLength .//xs:simpleType/xs:restriction/xs:length[@value]/(.., ../@base, ., @value)
advanced RestrictedMaxLength .//xs:simpleType/xs:restriction/xs:maxLength[@value]/(.., ../@base, ., @value)
advanced RestrictedMinLength .//xs:simpleType/xs:restriction/xs:minLength[@value]/(.., ../@base, ., @value)
basic ComplexTypeSequenceExtension .//xs:complexType/xs:complexContent[xs:extension[@base]/xs:sequence]/ (., xs:extension/ (., @base, xs:sequence/(., xs:element/(., @name))))
advanced LocalElementSimpleType .//xs:element[not(parent::xs:schema)]/xs:simpleType
basic LocalElementComplexType .//xs:element[not(parent::xs:schema)]/xs:complexType
advanced LocalAttributeSimpleType .//xs:attribute[not(parent::xs:schema)]/xs:simpleType
advanced GlobalElementComplexType .//xs:element[parent::xs:schema]/xs:complexType / (.,..)
advanced ComplexTypeExtension .//xs:complexType/xs:complexContent/xs:extension[@base]/(., @base, ../(.))

<xsd:schema NoTargetNamespace UnqualifiedLocalAttributes version="2.0.1" SchemaVersion elementFormDefault="qualified" QualifiedLocalElements attributeFormDefault="unqualified" UnqualifiedLocalAttributes id="core" Id >
<xsd:annotation DocumentationElement AppinfoElement >
<xsd:documentation DocumentationElement >
Inland Revenue core XML datatypes for incoming forms
</xsd:documentation>
<xsd:appinfo AppinfoElement >
<gt:KeyWords AppinfoElement >
taxation, FBI, File By Internet, Inland Revenue, core, types
</gt:KeyWords>
<gms:Metadata AppinfoElement >
<gms:Audience AppinfoElement >
schema designers
</gms:Audience>
<gms:Contributor AppinfoElement >
alphaXML Ltd
</gms:Contributor>
<gms:Contributor AppinfoElement >
DecisionSoft Ltd
</gms:Contributor>
<gms:Creator AppinfoElement >
Inland Revenue
</gms:Creator>
<gms:Date AppinfoElement >
<gms:Created AppinfoElement >
2001-06-11
</gms:Created>
</gms:Date>
<gms:Date AppinfoElement >
<gms:Modified AppinfoElement >
2003-03-10
</gms:Modified>
</gms:Date>
<gms:Format AppinfoElement >
<gms:MediaType AppinfoElement >
text/xml
</gms:MediaType>
<gms:Syntax AppinfoElement >
http://www.w3.org/2001/XMLSchema
</gms:Syntax>
<gms:Description AppinfoElement >
XML Schema, W3C Recommendation 2001
</gms:Description>
</gms:Format>
<gms:Identifier AppinfoElement >
{no-namespace}IRcore
</gms:Identifier>
<gms:Language AppinfoElement >
[ISO 639-2/B] ENG
</gms:Language>
<gms:Publisher AppinfoElement >
Inland Revenue
</gms:Publisher>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRheader
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
Contains
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
ContactDetailsStructure
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
EmailStructure
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
EmailType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
GenderType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRdecimalType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRmonetaryStructure
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRnonNegativeMonetaryType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRnonNegativeMonetaryStructure
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRwholeUnitsMonetaryType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRwholeUnitsMonetaryStructure
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRnonNegativeWholeUnitsMonetaryType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRnonNegativeWholeUnitsMonetaryStructure
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRnonNegativeDecimalType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRofficeNamedStructure
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRofficeReferenceType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRofficeStructure
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
ISOcurrencyType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
InternationalAddressStructure
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
NameStructure
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRheaderStringType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
TelephoneNumberType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
TelephoneStructure
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
WorkHomeType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
WorksNumberType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
YesNoType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
PAYEaddressLineType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
CTaddressLineType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
SAaddressLineType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
NTCaddressLineType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
PAYEnameType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
CTnameType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
SAnameType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
NTCnameType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
PAYEstringType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
CTstringType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
SAstringType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
NTCstringType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
UTRtype
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRtaxDistrictType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
SortCodeType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
AccountNumberType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
AccountNameType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
BuildingSocietyReferenceType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
NINOtype
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
IRNINOtype
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
PostCodeType
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Rights AppinfoElement >
<gms:Copyright AppinfoElement >
(C) Crown Copyright 2001-2003
</gms:Copyright>
</gms:Rights>
<gms:Subject AppinfoElement >
<gms:Category AppinfoElement >
Economics and Finance - Tax
</gms:Category>
</gms:Subject>
<gms:Subject AppinfoElement >
<gms:Project AppinfoElement >
On-line Tax Return filing
</gms:Project>
</gms:Subject>
<gms:Title AppinfoElement >
IR Core data types Schema
</gms:Title>
<gms:Type AppinfoElement >
architectural
</gms:Type>
</gms:Metadata>
</xsd:appinfo>
</xsd:annotation>
<xsd:element GlobalElementSequence GlobalElementComplexType name="IRheader" IdentifierName GlobalElementSequence >
<xsd:complexType GlobalElementSequence GlobalElementComplexType >
<xsd:sequence ComplexTypeSequence GlobalElementSequence >
<xsd:element ComplexTypeSequence GlobalElementSequence SequenceElement name="TestMessage" IdentifierName ComplexTypeSequence GlobalElementSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:simpleType LocalElementSimpleType >
<xsd:restriction RestrictedMinInclusive RestrictedMaxInclusive base="xsd:int" RestrictedMinInclusive RestrictedMaxInclusive >
<xsd:maxInclusive RestrictedMaxInclusive value="9" RestrictedMaxInclusive />
<xsd:minInclusive RestrictedMinInclusive value="0" RestrictedMinInclusive />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element ComplexTypeSequence GlobalElementSequence SequenceElement name="Keys" IdentifierName ComplexTypeSequence GlobalElementSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:annotation DocumentationElement >
<xsd:documentation DocumentationElement >
This element contains identifiers for the sender of the message. Each identifier is contained within a <Key> element. Each <Key> element also contains a 'Type' attribute which describes the identifier type (e.g. <Key Type='UTR'>, <Key Type='Tax Office Number'>, <Key Type='Tax Office Reference'>).
</xsd:documentation>
</xsd:annotation>
<xsd:complexType LocalElementComplexType >
<xsd:sequence ComplexTypeSequence ></xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence GlobalElementSequence SequenceElement name="Agent" IdentifierName ComplexTypeSequence GlobalElementSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:sequence ComplexTypeSequence >
<xsd:element ComplexTypeSequence SequenceElement name="AgentID" IdentifierName ComplexTypeSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:annotation DocumentationElement >
<xsd:documentation DocumentationElement >
This identifier is for the agent's own reference and is not the same as any agent's credentials that might be used to identify the agent to the Government Gateway.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType LocalElementSimpleType ></xsd:simpleType>
</xsd:element>
<xsd:element ComplexTypeSequence SequenceElement name="Company" IdentifierName ComplexTypeSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:simpleType LocalElementSimpleType ></xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence GlobalElementSequence SequenceElement name="DefaultCurrency" IdentifierName ComplexTypeSequence GlobalElementSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:simpleType LocalElementSimpleType >
<xsd:restriction SimpleTypeEnumerationType base="ISOcurrencyType" SimpleTypeEnumerationType ></xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element ComplexTypeSequence GlobalElementSequence SequenceElement name="IRmark" IdentifierName ComplexTypeSequence GlobalElementSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent ExtendedSimpleContent >
<xsd:extension ExtendedSimpleContent base="xsd:string" ExtendedSimpleContent >
<xsd:attribute ExtendedSimpleContent name="Type" IdentifierName ExtendedSimpleContent use="required" AttributeRequired >
<xsd:simpleType LocalAttributeSimpleType >
<xsd:restriction SimpleTypeEnumerationType base="IRheaderStringType" SimpleTypeEnumerationType >
<xsd:enumeration SimpleTypeEnumerationType value="SAonly" SimpleTypeEnumerationType />
<xsd:enumeration SimpleTypeEnumerationType value="generic" SimpleTypeEnumerationType />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence GlobalElementSequence SequenceElement name="Sender" IdentifierName ComplexTypeSequence GlobalElementSequence minOccurs="1" MinOccurs1 ElementMinOccurs1 ElementMaxOccurs1 maxOccurs="1" MaxOccurs1 ElementMinOccurs1 ElementMaxOccurs1 >
<xsd:simpleType LocalElementSimpleType >
<xsd:restriction StringEnumerationType base="xsd:string" StringEnumerationType >
<xsd:enumeration StringEnumerationType value="Individual" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="Company" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="Agent" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="Bureau" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="Partnership" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="Trust" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="Employer" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="Government" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="Acting in Capacity" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="Other" StringEnumerationType />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element GlobalElementSequence GlobalElementComplexType name="Contains" IdentifierName GlobalElementSequence >
<xsd:complexType GlobalElementSequence GlobalElementComplexType >
<xsd:sequence ComplexTypeSequence GlobalElementSequence >
<xsd:element ComplexTypeSequence GlobalElementSequence SequenceElement SequenceSingleRepeatedElement name="Reference" IdentifierName ComplexTypeSequence GlobalElementSequence minOccurs="1" MinOccurs1 ElementMinOccurs1MaxOccursUnbounded maxOccurs="unbounded" ElementMinOccurs1MaxOccursUnbounded SequenceSingleRepeatedElement >
<xsd:complexType LocalElementComplexType >
<xsd:sequence ComplexTypeSequence >
<xsd:element ComplexTypeSequence SequenceElement name="SchemaVersion" IdentifierName ComplexTypeSequence minOccurs="1" MinOccurs1 ElementMinOccurs1 ElementMaxOccurs1 maxOccurs="1" MaxOccurs1 ElementMinOccurs1 ElementMaxOccurs1 >
<xsd:simpleType LocalElementSimpleType >
<xsd:restriction SimpleTypeEnumerationType RestrictedMaxLength base="IRheaderStringType" SimpleTypeEnumerationType RestrictedMaxLength >
<xsd:maxLength RestrictedMaxLength value="13" RestrictedMaxLength />
<xsd:pattern value="[0-9]{4}\-v[0-9]{1,3}\.[0-9]{1,3}(\.[0-9]{1,3})?"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType GlobalComplexType name="ContactDetailsStructure" IdentifierName GlobalComplexType >
<xsd:sequence ComplexTypeSequence > </xsd:sequence>
</xsd:complexType>
<xsd:simpleType GlobalSimpleType name="GenderType" IdentifierName GlobalSimpleType >
<xsd:restriction StringEnumerationType base="xsd:string" StringEnumerationType >
<xsd:enumeration StringEnumerationType value="female" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="male" StringEnumerationType />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="IRdecimalType" IdentifierName GlobalSimpleType >
<xsd:restriction DecimalSimpleTypePattern base="xsd:decimal" DecimalSimpleTypePattern >
<xsd:pattern DecimalSimpleTypePattern value="-?(([1-9][0-9]*)|0)\.[0-9]{2}" DecimalSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType GlobalComplexType name="IRmonetaryStructure" IdentifierName GlobalComplexType >
<xsd:simpleContent ExtendedSimpleContent ></xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType GlobalSimpleType name="IRnonNegativeMonetaryType" IdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType RestrictedMinInclusive base="IRdecimalType" SimpleTypeEnumerationType RestrictedMinInclusive >
<xsd:minInclusive RestrictedMinInclusive value="0.00" RestrictedMinInclusive />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType GlobalComplexType name="IRnonNegativeMonetaryStructure" IdentifierName GlobalComplexType >
<xsd:simpleContent ExtendedSimpleContent >
<xsd:extension ExtendedSimpleContent base="IRnonNegativeMonetaryType" ExtendedSimpleContent ></xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType GlobalSimpleType name="IRwholeUnitsMonetaryType" IdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType base="IRdecimalType" SimpleTypeEnumerationType >
<xsd:pattern value=".*\.00"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType GlobalComplexType name="IRwholeUnitsMonetaryStructure" IdentifierName GlobalComplexType >
<xsd:simpleContent ExtendedSimpleContent >
<xsd:extension ExtendedSimpleContent base="IRwholeUnitsMonetaryType" ExtendedSimpleContent ></xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType GlobalSimpleType name="IRnonNegativeWholeUnitsMonetaryType" NonIdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType base="IRnonNegativeDecimalType" SimpleTypeEnumerationType >
<xsd:pattern value=".*\.00"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType GlobalComplexType name="IRnonNegativeWholeUnitsMonetaryStructure" NonIdentifierName GlobalComplexType >
<xsd:simpleContent ExtendedSimpleContent >
<xsd:extension ExtendedSimpleContent base="IRnonNegativeWholeUnitsMonetaryType" ExtendedSimpleContent ></xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType GlobalSimpleType name="IRnonNegativeDecimalType" IdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType RestrictedMinInclusive base="IRdecimalType" SimpleTypeEnumerationType RestrictedMinInclusive >
<xsd:minInclusive RestrictedMinInclusive value="0.00" RestrictedMinInclusive />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType GlobalComplexType name="IRofficeNamedStructure" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="IRofficeStructure" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:element SequenceElement ComplexTypeSequenceExtension name="Name" IdentifierName ComplexTypeSequenceExtension minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:simpleType LocalElementSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[A-Za-z0-9 ~!"@#$%&'\(\)\*\+,\-\./:;<=>\?\[\\\]^_\{\}£€]*" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType GlobalSimpleType name="ISOcurrencyType" IdentifierName GlobalSimpleType >
<xsd:restriction StringEnumerationType base="xsd:string" StringEnumerationType >
<xsd:enumeration StringEnumerationType value="EUR" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="GBP" StringEnumerationType />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType GlobalComplexType name="InternationalAddressStructure" IdentifierName GlobalComplexType >
<xsd:sequence ComplexTypeSequence > </xsd:sequence>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="NameStructure" IdentifierName GlobalComplexType >
<xsd:sequence ComplexTypeSequence > </xsd:sequence>
</xsd:complexType>
<xsd:simpleType GlobalSimpleType name="IRheaderStringType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[A-Za-z0-9 &'\(\)\*,\-\./]*" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType GlobalComplexType name="TelephoneStructure" IdentifierName GlobalComplexType > </xsd:complexType>
<xsd:simpleType GlobalSimpleType name="WorkHomeType" IdentifierName GlobalSimpleType >
<xsd:restriction StringEnumerationType base="xsd:string" StringEnumerationType >
<xsd:enumeration StringEnumerationType value="home" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="work" StringEnumerationType />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="YesNoType" IdentifierName GlobalSimpleType >
<xsd:restriction StringEnumerationType base="xsd:string" StringEnumerationType >
<xsd:enumeration StringEnumerationType value="no" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="yes" StringEnumerationType />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="PAYEaddressLineType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[A-Za-z0-9 ~!"@#$%&'\(\)\*\+,\-\./:;<=>\?\[\\\]^_\{\}£€]*" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="CTaddressLineType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[A-Za-z0-9 ,\.\(\)/&'\-"!%\*_\+:@<>\?=;]*" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="SAaddressLineType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[A-Za-z0-9 &'\(\)\*,\-\./]*" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="NTCaddressLineType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[A-Za-z0-9 ~!"@#$%&'\(\)\*\+,\-\./:;<=>\?\[\\\]^_\{\}£€]*" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="PAYEnameType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[A-Za-z0-9 ~!"@#$%&'\(\)\*\+,\-\./:;<=>\?\[\\\]^_\{\}£€]*" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="CTnameType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[A-Za-z0-9 ,\.\(\)/&'\-"!%\*_\+:@<>\?=;]*" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="SAnameType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[A-Za-z0-9 &'\(\)\*,\-\./]*" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="NTCnameType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[A-Za-z0-9 ~!"@#$%&'\(\)\*\+,\-\./:;<=>\?\[\\\]^_\{\}£€]*" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="PAYEstringType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[A-Za-z0-9 ~!"@#$%&'\(\)\*\+,\-\./:;<=>\?\[\\\]^_\{\}£€]*" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="CTstringType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[A-Za-z0-9 ,\.\(\)/&'\-"!%\*_\+:@<>\?=;]*" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="SAstringType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[A-Za-z0-9 &'\(\)\*,\-\./@£]*" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="NTCstringType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[A-Za-z0-9 ~!"@#$%&'\(\)\*\+,\-\./:;<=>\?\[\\\]^_\{\}£€]*" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="UTRtype" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern RestrictedLength base="xsd:string" StringSimpleTypePattern RestrictedLength >
<xsd:length RestrictedLength value="10" RestrictedLength />
<xsd:pattern StringSimpleTypePattern value="[0-9]{10}" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="IRtaxDistrictType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern RestrictedLength base="xsd:string" StringSimpleTypePattern RestrictedLength >
<xsd:length RestrictedLength value="3" RestrictedLength />
<xsd:pattern StringSimpleTypePattern value="[0-9]{3}" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="SortCodeType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern RestrictedLength base="xsd:string" StringSimpleTypePattern RestrictedLength >
<xsd:length RestrictedLength value="6" RestrictedLength />
<xsd:pattern StringSimpleTypePattern value="[0-9]{6}" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="AccountNumberType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern RestrictedLength base="xsd:string" StringSimpleTypePattern RestrictedLength >
<xsd:length RestrictedLength value="8" RestrictedLength />
<xsd:pattern StringSimpleTypePattern value="[0-9]{8}" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="BuildingSocietyReferenceType" IdentifierName GlobalSimpleType ></xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="NINOtype" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern RestrictedLength base="xsd:string" StringSimpleTypePattern RestrictedLength >
<xsd:length RestrictedLength value="9" RestrictedLength />
<xsd:pattern StringSimpleTypePattern value="[ABCEGHJKLMNOPRSTWXYZ][ABCEGHJKLMNPRSTWXYZ][0-9]{6}[A-D ]" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="IRNINOtype" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="[ABCEGHJKLMNOPRSTWXYZ][ABCEGHJKLMNPRSTWXYZ][0-9]{6}[A-D ]" StringSimpleTypePattern />
<xsd:pattern StringSimpleTypePattern value="[0-9]{2}[A-Z][0-9]{5}" StringSimpleTypePattern />
<xsd:pattern StringSimpleTypePattern value="TN[0-9]{6}[MF]" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="PostCodeType" IdentifierName GlobalSimpleType >
<xsd:restriction StringSimpleTypePattern base="xsd:string" StringSimpleTypePattern >
<xsd:pattern StringSimpleTypePattern value="(GIR 0AA)|((([A-Z][0-9][0-9]?)|(([A-Z][A-HJ-Y][0-9][0-9]?)|(([A-Z][0-9][A-Z])|([A-Z][A-HJ-Y][0-9]?[A-Z])))) [0-9][A-Z]{2})" StringSimpleTypePattern />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

This document was produced by the W3C XML Schema Patterns for Databinding Working Group. Comments on this document may be sent to the public public-xsd-databinding-comments@w3.org mailing list (public archive).