W3C

HMRC-P9D

The document http://www.hmrc.gov.uk/ebu/paye_techpack/P9D-2007-v1-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
basic TargetNamespace .[@targetNamespace]/ (., @targetNamespace)
basic QualifiedLocalElements .[@elementFormDefault = 'qualified']/ (@elementFormDefault)
basic UnqualifiedLocalAttributes .[not(@attributeFormDefault) or @attributeFormDefault = 'unqualified']/ (., @attributeFormDefault)
basic SchemaVersion ./@version
advanced AppinfoElement .//xs:annotation/xs:appinfo/ (.., ., .//*, .//@*)
basic IdentifierName .//.[matches(@name, "^[A-Za-z_]([A-Za-z0-9_]0 31)$")]/ (@name)
basic Include ./xs:include[@schemaLocation]/ (., @schemaLocation)
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)
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 ComplexTypeSequence .//xs:complexType/xs:sequence/ (., xs:element/(., @name))
basic GlobalElementSequence ./xs:element[@name]/xs:complexType/xs:sequence[xs:element]/ (../../(., @name), .., ., xs:element/(., @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 StringSimpleTypePattern .//xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string')]/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 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
basic LocalElementComplexType .//xs:element[not(parent::xs:schema)]/xs:complexType
advanced GlobalElementComplexType .//xs:element[parent::xs:schema]/xs:complexType / (.,..)
advanced RestrictedSimpleContent .//xs:complexType/xs:simpleContent/xs:restriction[@base]/(.., ., @base, child::*, child::*/@value)

<xsd:schema TargetNamespace UnqualifiedLocalAttributes version="1.0" SchemaVersion elementFormDefault="qualified" QualifiedLocalElements attributeFormDefault="unqualified" UnqualifiedLocalAttributes id="p9d" Id targetNamespace="http://www.govtalk.gov.uk/taxation/EXB" TargetNamespace >
<xsd:include Include schemaLocation="http://www.hmrc.gov.uk/schemas/core-v2-0.xsd" Include />
<xsd:annotation AppinfoElement >
<xsd:appinfo AppinfoElement >
<gms:Metadata AppinfoElement >
<gms:Audience AppinfoElement >
e-service developers
</gms:Audience>
<gms:Contributor AppinfoElement >
DecisionSoft Ltd
</gms:Contributor>
<gms:Creator AppinfoElement >
HMRC
</gms:Creator>
<gms:Date AppinfoElement >
<gms:Created AppinfoElement >
2006-07-18
</gms:Created>
</gms:Date>
<gms:Date AppinfoElement >
<gms:Modified AppinfoElement >
2006-10-30
</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:Language AppinfoElement >
[ISO 639-2/B] ENG
</gms:Language>
<gms:Publisher AppinfoElement >
HMRC
</gms:Publisher>
<gms:Relation AppinfoElement >
<gms:Requires AppinfoElement >
core-v2-0
</gms:Requires>
</gms:Relation>
<gms:Relation AppinfoElement >
<gms:ProvidesDefinitionOf AppinfoElement >
P9D
</gms:ProvidesDefinitionOf>
</gms:Relation>
<gms:Rights AppinfoElement >
<gms:Copyright AppinfoElement >
(C) Crown Copyright 2001-2007
</gms:Copyright>
</gms:Rights>
<gms:Subject AppinfoElement >
<gms:Category AppinfoElement >
Economics, Finance and Tax
</gms:Category>
</gms:Subject>
<gms:Subject AppinfoElement >
<gms:Project AppinfoElement >
On-line Tax Return filing
</gms:Project>
</gms:Subject>
<gms:Title AppinfoElement >
P9D Schema
</gms:Title>
<gms:Type AppinfoElement >
message
</gms:Type>
</gms:Metadata>
</xsd:appinfo>
</xsd:annotation>
<xsd:element GlobalElementSequence GlobalElementComplexType name="P9D" IdentifierName GlobalElementSequence >
<xsd:complexType GlobalElementSequence GlobalElementComplexType >
<xsd:sequence ComplexTypeSequence GlobalElementSequence >
<xsd:element ComplexTypeSequence GlobalElementSequence SequenceElement name="EmployeeDetails" IdentifierName ComplexTypeSequence GlobalElementSequence minOccurs="1" MinOccurs1 ElementMinOccurs1 ElementMaxOccurs1 maxOccurs="1" MaxOccurs1 ElementMinOccurs1 ElementMaxOccurs1 >
<xsd:complexType LocalElementComplexType >
<xsd:sequence ComplexTypeSequence >
<xsd:element ComplexTypeSequence SequenceElement name="Name" IdentifierName ComplexTypeSequence minOccurs="1" MinOccurs1 ElementMinOccurs1 ElementMaxOccurs1 maxOccurs="1" MaxOccurs1 ElementMinOccurs1 ElementMaxOccurs1 >
<xsd:complexType LocalElementComplexType >
<xsd:sequence ComplexTypeSequence > </xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence SequenceElement name="NINO" IdentifierName ComplexTypeSequence minOccurs="1" MinOccurs1 ElementMinOccurs1 ElementMaxOccurs1 maxOccurs="1" MaxOccurs1 ElementMinOccurs1 ElementMaxOccurs1 >
<xsd:simpleType LocalElementSimpleType >
<xsd:restriction SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength base="PAYEstringType" SimpleTypeEnumerationType RestrictedMaxLength RestrictedMinLength >
<xsd:minLength RestrictedMinLength value="9" RestrictedMinLength />
<xsd:maxLength RestrictedMaxLength value="9" RestrictedMaxLength />
<xsd:pattern value="([A-Z]{2}[0-9]{6}[A-D ])|NOT KNOWN"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence GlobalElementSequence SequenceElement name="TotalExpenses" IdentifierName ComplexTypeSequence GlobalElementSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRnonNegativeWholeUnitsMonetaryStructure" RestrictedSimpleContent >
<xsd:maxInclusive RestrictedSimpleContent value="9999999999.00" RestrictedSimpleContent />
<xsd:minInclusive RestrictedSimpleContent value="25.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence GlobalElementSequence SequenceElement name="OtherPayments" IdentifierName ComplexTypeSequence GlobalElementSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:sequence ComplexTypeSequence >
<xsd:element ComplexTypeSequence SequenceElement name="NICpaid" IdentifierName ComplexTypeSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRnonNegativeWholeUnitsMonetaryStructure" RestrictedSimpleContent >
<xsd:maxInclusive RestrictedSimpleContent value="9999999999.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence SequenceElement name="Telephone" IdentifierName ComplexTypeSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRnonNegativeWholeUnitsMonetaryStructure" RestrictedSimpleContent >
<xsd:maxInclusive RestrictedSimpleContent value="9999999999.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence SequenceElement name="GiftsInKind" IdentifierName ComplexTypeSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRnonNegativeWholeUnitsMonetaryStructure" RestrictedSimpleContent >
<xsd:maxInclusive RestrictedSimpleContent value="9999999999.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence SequenceElement name="NotMarketValue" IdentifierName ComplexTypeSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRnonNegativeWholeUnitsMonetaryStructure" RestrictedSimpleContent >
<xsd:maxInclusive RestrictedSimpleContent value="9999999999.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence SequenceElement name="Other" IdentifierName ComplexTypeSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRnonNegativeWholeUnitsMonetaryStructure" RestrictedSimpleContent >
<xsd:maxInclusive RestrictedSimpleContent value="9999999999.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence GlobalElementSequence SequenceElement name="VouchersAndCCs" IdentifierName ComplexTypeSequence GlobalElementSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:sequence ComplexTypeSequence >
<xsd:element ComplexTypeSequence SequenceElement name="Transport" IdentifierName ComplexTypeSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRnonNegativeWholeUnitsMonetaryStructure" RestrictedSimpleContent >
<xsd:maxInclusive RestrictedSimpleContent value="9999999999.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence SequenceElement name="Gift" IdentifierName ComplexTypeSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRnonNegativeWholeUnitsMonetaryStructure" RestrictedSimpleContent >
<xsd:maxInclusive RestrictedSimpleContent value="9999999999.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence SequenceElement name="Meal" IdentifierName ComplexTypeSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRnonNegativeWholeUnitsMonetaryStructure" RestrictedSimpleContent >
<xsd:maxInclusive RestrictedSimpleContent value="9999999999.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence SequenceElement name="Other" IdentifierName ComplexTypeSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRnonNegativeWholeUnitsMonetaryStructure" RestrictedSimpleContent >
<xsd:maxInclusive RestrictedSimpleContent value="9999999999.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence SequenceElement name="CreditCards" IdentifierName ComplexTypeSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRnonNegativeWholeUnitsMonetaryStructure" RestrictedSimpleContent >
<xsd:maxInclusive RestrictedSimpleContent value="9999999999.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence GlobalElementSequence SequenceElement name="Accommodation" IdentifierName ComplexTypeSequence GlobalElementSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:sequence ComplexTypeSequence >
<xsd:element ComplexTypeSequence SequenceElement name="RateableValue" IdentifierName ComplexTypeSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRnonNegativeWholeUnitsMonetaryStructure" RestrictedSimpleContent >
<xsd:maxInclusive RestrictedSimpleContent value="9999999999.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence SequenceElement name="RentAndInsurance" IdentifierName ComplexTypeSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRnonNegativeWholeUnitsMonetaryStructure" RestrictedSimpleContent >
<xsd:maxInclusive RestrictedSimpleContent value="9999999999.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence SequenceElement name="AccommodationValue" IdentifierName ComplexTypeSequence minOccurs="1" MinOccurs1 ElementMinOccurs1 ElementMaxOccurs1 maxOccurs="1" MaxOccurs1 ElementMinOccurs1 ElementMaxOccurs1 >
<xsd:complexType LocalElementComplexType >
<xsd:simpleContent RestrictedSimpleContent >
<xsd:restriction RestrictedSimpleContent base="IRnonNegativeWholeUnitsMonetaryStructure" RestrictedSimpleContent >
<xsd:maxInclusive RestrictedSimpleContent value="9999999999.00" RestrictedSimpleContent />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element ComplexTypeSequence GlobalElementSequence SequenceElement name="BenefitDescription" IdentifierName ComplexTypeSequence GlobalElementSequence minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 >
<xsd:simpleType LocalElementSimpleType >
<xsd:restriction SimpleTypeEnumerationType RestrictedMaxLength base="PAYEstringType" SimpleTypeEnumerationType RestrictedMaxLength >
<xsd:maxLength RestrictedMaxLength value="125" RestrictedMaxLength />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</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).