W3C

HMRC-coreOutgoing

The document http://www.hmrc.gov.uk/schemas/coreOutgoing-2002-v1.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)
advanced ElementMaxOccursFinite .//xs:element[@maxOccurs and not(@maxOccurs = '0' or @maxOccurs = '1' or @maxOccurs = 'unbounded')]/ (@maxOccurs)
basic AttributeOptional .//xs:attribute[@use = 'optional']/ (@use)
basic GlobalSimpleType ./xs:simpleType[@name]/ (., @name)
basic GlobalComplexType ./xs:complexType[@name]/ (., @name)
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))
advanced ExtendedSimpleContent .//xs:complexType/xs:simpleContent/xs:extension[@base]/ (.., ., ./@base, xs:attribute/ (., @name))
basic SequenceElement .//xs:sequence/xs:element/(.)
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 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 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 RestrictedMinInclusive .//xs:simpleType/xs:restriction/xs:minInclusive[@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)
advanced LocalElementSimpleType .//xs:element[not(parent::xs:schema)]/xs:simpleType
advanced LocalAttributeSimpleType .//xs:attribute[not(parent::xs:schema)]/xs:simpleType
advanced RestrictedSimpleContent .//xs:complexType/xs:simpleContent/xs:restriction[@base]/(.., ., @base, child::*, child::*/@value)
advanced AttributeProhibited .//xs:attribute[@use = 'prohibited']/ (@use)

<xsd:schema NoTargetNamespace UnqualifiedLocalAttributes elementFormDefault="qualified" QualifiedLocalElements version="1.0" SchemaVersion attributeFormDefault="unqualified" UnqualifiedLocalAttributes id="IRcore.outgoing" Id >
<xsd:annotation DocumentationElement AppinfoElement >
<xsd:documentation DocumentationElement >
Inland Revenue core XML datatypes for outgoing forms
</xsd:documentation>
<xsd:appinfo AppinfoElement >
<gt:KeyWords AppinfoElement >
taxation, FBI, File By Internet, Inland Revenue, core, types
</gt:KeyWords>
</xsd:appinfo>
</xsd:annotation>
<xsd:simpleType GlobalSimpleType name="IRstringType" 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="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: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:simpleType GlobalSimpleType name="ISOcurrencyType" IdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType base="IRstringType" SimpleTypeEnumerationType > </xsd:restriction>
</xsd:simpleType>
<xsd:complexType GlobalComplexType name="IRmonetaryStructure" IdentifierName GlobalComplexType >
<xsd:simpleContent ExtendedSimpleContent ></xsd:simpleContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="IRnonNegativeMonetaryStructure" IdentifierName GlobalComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRmonetaryStructure" RestrictedSimpleContent >
<xsd:minInclusive RestrictedSimpleContent value="0.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType GlobalSimpleType name="YesNoType" IdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType base="IRstringType" SimpleTypeEnumerationType > </xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="WorksNumberType.out" NonIdentifierName GlobalSimpleType ></xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="AddressLineType" IdentifierName GlobalSimpleType ></xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="IRofficeNumberType" IdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength base="IRstringType" SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength >
<xsd:maxLength RestrictedMaxLength value="3" RestrictedMaxLength />
<xsd:minLength RestrictedMinLength value="3" RestrictedMinLength />
<xsd:pattern value="[1-9][0-9]{2}|[0-9][1-9][0-9]|[0-9]{2}[1-9]"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="IRofficeReferenceType" IdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength base="IRstringType" SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength >
<xsd:maxLength RestrictedMaxLength value="10" RestrictedMaxLength />
<xsd:minLength RestrictedMinLength value="1" RestrictedMinLength />
<xsd:pattern value="[A-Za-z0-9].*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="NameTitleType" IdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength base="IRstringType" SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength >
<xsd:maxLength RestrictedMaxLength value="4" RestrictedMaxLength />
<xsd:minLength RestrictedMinLength value="1" RestrictedMinLength />
<xsd:pattern value="[A-Za-z][A-Za-z'-]*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="NameType" IdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength base="IRstringType" SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength >
<xsd:maxLength RestrictedMaxLength value="35" RestrictedMaxLength />
<xsd:minLength RestrictedMinLength value="1" RestrictedMinLength />
<xsd:pattern value="[A-Za-z][A-Za-z'-]*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="GenderType" IdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType base="IRstringType" SimpleTypeEnumerationType >
<xsd:enumeration SimpleTypeEnumerationType value="female" SimpleTypeEnumerationType />
<xsd:enumeration SimpleTypeEnumerationType value="male" SimpleTypeEnumerationType />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="TelephoneNumberType" IdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength base="IRstringType" SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength >
<xsd:maxLength RestrictedMaxLength value="35" RestrictedMaxLength />
<xsd:minLength RestrictedMinLength value="1" RestrictedMinLength />
<xsd:pattern value="[0-9\(\)\-\s]{1,35}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="EmailType" IdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength base="IRstringType" SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength >
<xsd:maxLength RestrictedMaxLength value="129" RestrictedMaxLength />
<xsd:minLength RestrictedMinLength value="1" RestrictedMinLength />
<xsd:pattern value="[^@]+@[^@]+"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="WorkHomeType" IdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType base="IRstringType" SimpleTypeEnumerationType >
<xsd:enumeration SimpleTypeEnumerationType value="home" SimpleTypeEnumerationType />
<xsd:enumeration SimpleTypeEnumerationType value="work" SimpleTypeEnumerationType />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType GlobalComplexType name="TelephoneStructure" IdentifierName GlobalComplexType > </xsd:complexType>
<xsd:complexType GlobalComplexType name="IRofficeStructure.out" NonIdentifierName GlobalComplexType >
<xsd:sequence ComplexTypeSequence >
<xsd:element ComplexTypeSequence SequenceElement name="Name" IdentifierName ComplexTypeSequence minOccurs="1" MinOccurs1 ElementMinOccurs1 ElementMaxOccurs1 maxOccurs="1" MaxOccurs1 ElementMinOccurs1 ElementMaxOccurs1 >
<xsd:simpleType LocalElementSimpleType >
<xsd:restriction SimpleTypeEnumerationType RestrictedMaxLength base="IRstringType" SimpleTypeEnumerationType RestrictedMaxLength >
<xsd:pattern value="[A-Za-z0-9]{1,28}"/>
<xsd:maxLength RestrictedMaxLength value="28" RestrictedMaxLength />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="TaxCodeSVRW1M1Type" IdentifierName GlobalComplexType >
<xsd:simpleContent ExtendedSimpleContent >
<xsd:extension ExtendedSimpleContent base="autoType1" ExtendedSimpleContent >
<xsd:annotation DocumentationElement >
<xsd:documentation DocumentationElement >
Back-end systems provide for different tax codes so this type may not be appropriate as a core type. It may have to be reimplemented in particular schemas.
</xsd:documentation>
</xsd:annotation>
<xsd:attribute ExtendedSimpleContent name="SVR" IdentifierName ExtendedSimpleContent use="prohibited" AttributeProhibited >
<xsd:simpleType LocalAttributeSimpleType >
<xsd:restriction SimpleTypeEnumerationType base="IRstringType" SimpleTypeEnumerationType ></xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute ExtendedSimpleContent name="Week1Month1Indicator" IdentifierName ExtendedSimpleContent use="optional" AttributeOptional >
<xsd:simpleType LocalAttributeSimpleType >
<xsd:restriction SimpleTypeEnumerationType base="IRstringType" SimpleTypeEnumerationType >
<xsd:annotation DocumentationElement >
<xsd:documentation DocumentationElement >
The value 'X' indicates only that a Week 1 or Month 1 basis for tax calculation is used, but not which.
</xsd:documentation>
</xsd:annotation>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType GlobalSimpleType name="autoType1" IdentifierName GlobalSimpleType >
<xsd:restriction SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength base="IRstringType" SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength >
<xsd:maxLength RestrictedMaxLength value="5" RestrictedMaxLength />
<xsd:minLength RestrictedMinLength value="2" RestrictedMinLength />
<xsd:pattern value="([1-9][0-9]{0,3}[AHLPTVY])|(BR)|(0T)|(NT)|(FT)|(D0)|([K][1-9][0-9]{0,3})"/>
</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).