<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:doc="http://www.ros.ie/schemas/customs/docH7"
	xmlns:base="http://www.ros.ie/schemas/customs/baseH7"
	targetNamespace="http://www.ros.ie/schemas/customs/baseH7" elementFormDefault="unqualified" attributeFormDefault="unqualified" version="1.00">

	<!--=========================================-->
	<!--			BASE ELEMENTS				 -->
	<!--=========================================-->

	<!--===== Includes =====-->



	<!--===== Data Item Types Base =====-->
	<xs:simpleType name="AlphaCapital_2">
		<xs:restriction base="base:AlphaCapitalType">
			<xs:length value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="AlphaNumType">
		<xs:annotation>
			<xs:documentation><doc:description value="Base class for all anN and an..N types"/></xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token"/>
	</xs:simpleType>
	<xs:simpleType name="AlphaCapitalType">
		<xs:annotation>
			<xs:documentation><doc:description value="Base class for all aN and a..N upper case types"/></xs:documentation>
		</xs:annotation>
		<xs:restriction base="base:AlphaType">
			<xs:pattern value="[A-Z]*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="AlphaType">
		<xs:annotation>
			<xs:documentation><doc:description value="Base class for all aN and a..N types"/></xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token"/>
	</xs:simpleType>
	<xs:simpleType name="BigInteger">
		<xs:annotation>
			<xs:documentation><doc:description value="Base class for all Integer values"/></xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer"/>
	</xs:simpleType>
	<xs:simpleType name="Base64Binary">
		<xs:annotation>
			<xs:documentation><doc:description value="Base class for all attributes that can have a positive or a negative value"/></xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:base64Binary"/>
	</xs:simpleType>
	<xs:simpleType name="NonEmptyBase64Binary">
		<xs:annotation>
			<xs:documentation><doc:description value="Base class for all attributes that can have a positive or a negative value"/></xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:base64Binary" >
			<xs:minLength value="1"/>
		</xs:restriction>
	</xs:simpleType>	
	<xs:simpleType name="Flag">
		<xs:annotation>
			<xs:documentation><doc:description value="Base class for all attributes that can have a positive or a negative value"/></xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:boolean"/>
	</xs:simpleType>
	<xs:simpleType name="NumType">
		<xs:annotation>
			<xs:documentation><doc:description value="Base class for all nN and n..N types"/></xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token"/>
	</xs:simpleType>
	<xs:simpleType name="DecType">
		<xs:annotation>
			<xs:documentation><doc:description value="Base class for all n..N,M types"/></xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:decimal"/>
	</xs:simpleType>
	<xs:simpleType name="Alpha_1">
		<xs:restriction base="base:AlphaType">
			<xs:length value="1"/>
			<xs:pattern value="[a-zA-Z]"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alpha_3">
		<xs:restriction base="base:AlphaType">
			<xs:length value="3"/>
			<xs:pattern value="[a-zA-Z]{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_Max3">
		<xs:restriction base="xs:token">
			<xs:maxLength value="3"/>
			<xs:pattern value=".{1,3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_Max4">
		<xs:restriction base="base:AlphaNumType">
			<xs:maxLength value="4"/>
			<xs:pattern value=".{1,4}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_Max6">
		<xs:restriction base="base:AlphaNumType">
			<xs:maxLength value="6"/>
			<xs:pattern value=".{1,6}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_Max10">
		<xs:restriction base="base:AlphaNumType">
			<xs:maxLength value="10"/>
			<xs:pattern value=".{1,10}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_Max15">
		<xs:restriction base="base:AlphaNumType">
			<xs:maxLength value="15"/>
			<xs:pattern value=".{1,15}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_Max17">
		<xs:restriction base="base:AlphaNumType">
			<xs:maxLength value="17"/>
			<xs:pattern value=".{1,17}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_Max35">
		<xs:restriction base="xs:string">
			<xs:maxLength value="35"/>
			<xs:pattern value=".{1,35}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_Max50">
		<xs:restriction base="base:AlphaNumType">
			<xs:maxLength value="50"/>
			<xs:pattern value=".{1,50}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_Max70">
		<xs:restriction base="base:AlphaNumType">
			<xs:maxLength value="70"/>
			<xs:pattern value=".{1,70}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_Max140">
		<xs:restriction base="base:AlphaNumType">
			<xs:maxLength value="140"/>
			<xs:pattern value=".{1,140}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_Max210">
		<xs:restriction base="base:AlphaNumType">
			<xs:maxLength value="210"/>
			<xs:pattern value=".{1,210}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_Max256">
		<xs:restriction base="base:AlphaNumType">
			<xs:maxLength value="256"/>
			<xs:pattern value=".{1,256}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_Max350">
		<xs:restriction base="base:AlphaNumType">
			<xs:maxLength value="350"/>
			<xs:pattern value=".{1,350}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_Max512">
		<xs:restriction base="base:AlphaNumType">
			<xs:maxLength value="512"/>
			<xs:pattern value=".{1,512}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_3">
		<xs:restriction base="base:AlphaNumType">
			<xs:length value="3"/>
			<xs:pattern value=".{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_4">
		<xs:restriction base="base:AlphaNumType">
			<xs:length value="4"/>
			<xs:pattern value=".{4}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_5">
		<xs:restriction base="base:AlphaNumType">
			<xs:length value="5"/>
			<xs:pattern value=".{5}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_6">
		<xs:restriction base="base:AlphaNumType">
			<xs:length value="6"/>
			<xs:pattern value=".{6}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_8">
		<xs:restriction base="base:AlphaNumType">
			<xs:length value="8"/>
			<xs:pattern value=".{8}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_10">
		<xs:restriction base="base:AlphaNumType">
			<xs:length value="10"/>
			<xs:pattern value=".{10}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_18">
		<xs:restriction base="base:AlphaNumType">
			<xs:length value="18"/>
			<xs:pattern value=".{18}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_22">
		<xs:restriction base="base:AlphaNumType">
			<xs:length value="22"/>
			<xs:pattern value=".{22}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Alphanumeric_36">
		<xs:restriction base="base:AlphaNumType">
			<xs:length value="36"/>
			<xs:pattern value=".{36}"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Numeric_1">
		<xs:restriction base="base:NumType">
			<xs:length value="1"/>
			<xs:pattern value="[0-9]{1}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Numeric_2">
		<xs:restriction base="base:NumType">
			<xs:length value="2"/>
			<xs:pattern value="[0-9]{2}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Numeric_3">
		<xs:restriction base="base:NumType">
			<xs:length value="3"/>
			<xs:pattern value="[0-9]{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Numeric_Max2">
		<xs:restriction base="base:NumType">
			<xs:maxLength value="2"/>
			<xs:pattern value="[0-9]{1,2}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Numeric_Max3">
		<xs:restriction base="base:NumType">
			<xs:maxLength value="3"/>
			<xs:pattern value="[0-9]{1,3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Numeric_Max5">
		<xs:restriction base="base:NumType">
			<xs:maxLength value="5"/>
			<xs:pattern value="[0-9]{1,5}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Numeric_Max8">
		<xs:restriction base="base:NumType">
			<xs:maxLength value="8"/>
			<xs:pattern value="[0-9]{1,8}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Numeric_Max12">
		<xs:restriction base="base:NumType">
			<xs:maxLength value="12"/>
			<xs:pattern value="[0-9]{1,12}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Decimal_16_2">
		<xs:restriction base="base:DecType">
			<xs:totalDigits value="16"/>
			<xs:fractionDigits value="2"/>
			<xs:pattern value="\d*\.?\d{1,2}" /> 
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Decimal_16_6">
		<xs:restriction base="base:DecType">
			<xs:totalDigits value="16"/>
			<xs:fractionDigits value="6"/>
			<xs:pattern value="\d*\.?\d{1,6}" /> 
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Decimal_17_3">
		<xs:restriction base="base:DecType">
			<xs:totalDigits value="17"/>
			<xs:fractionDigits value="3"/>
			<xs:pattern value="\d*\.?\d{1,3}" /> 
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="AlphanumericCapital_a1_n2">
		<xs:restriction base="base:AlphaNumType">
			<xs:length value="3"/>
			<xs:pattern value="[A-Z][0-9]{2}"/>
		</xs:restriction>
	</xs:simpleType>
	
	
</xs:schema>
