<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xvergabe-if="http://xvergabe.org/interface/xsd/4" xmlns:bxhtml="http://xvergabe.org/client-interface/basic-xhtml-redefinition/4" targetNamespace="http://xvergabe.org/interface/xsd/4" version="4.0" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:import schemaLocation="../ext/xhtml1-transitional-redefined-basictype.xsd" namespace="http://xvergabe.org/client-interface/basic-xhtml-redefinition/4" />
  <xs:simpleType name="DateTimeTZ">
    <xs:annotation>
      <xs:documentation>Datatype derived from W3C-simpleType dateTime. Enforces timezone indication in the value.
Timevalue of 24:00:00 represents the end of the day. Timevalue of 00:00:00 represents the beginning of the day. 
Values "2015-01-01T24:00:00Z" and "2015-01-02T00:00:00Z" are identical points in time.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:dateTime">
      <xs:pattern value="([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]|(24:00:00))Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00) " />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ExistingObjectReference">
    <xs:annotation>
      <xs:documentation>Refers to an attachment in an XML file.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" minOccurs="0" type="xvergabe-if:String.1024">
        <xs:annotation>
          <xs:documentation>The name for this reference.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="fileSize" type="xs:nonNegativeInteger">
        <xs:annotation>
          <xs:documentation>The size of the referenced attachment in bytes.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="attachmentIdentifier" type="xvergabe-if:GUID">
        <xs:annotation>
          <xs:documentation>The GUID of the attachment this ExistingObjectReference refers to. This may be either used in a client message to refer the attachment directly (the attachment is part of the message) or in a server message to reference documents to access by the getDocuments-Operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FormattedText">
    <xs:annotation>
      <xs:documentation>text which might be structured by a limited set of XHTML tags (p, h1..h6, b, strong, u, em, i, ol, li, ul, br, hr). the structuring is handled by an external schema redefinition of XHTML1 transitional.
Elements using this Datatype MUST be wrapped within a CDATA-section.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="bxhtml:BasicXHTML" />
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="GUID">
    <xs:annotation>
      <xs:documentation>A GUID is a 128 Bit number used as unique identifier for objects. The format and algorithm to create a GUID is defined in RFC 4122. Within the XVergabe specification GUIDs are used as identifiers for objects within the XML structure.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="String.0">
    <xs:annotation>
      <xs:documentation>Datatype used for typing empty elements without violating Naming and Design rules. Hence the length of the string is always 0.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:maxLength value="0" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="String.1024">
    <xs:annotation>
      <xs:documentation>Extension of the standard string type with a length limit of 1024 characters.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:maxLength value="1024" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="String.255">
    <xs:annotation>
      <xs:documentation>Extension of the standard string type with a length limit of 255 characters.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:maxLength value="255" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="String.4096">
    <xs:annotation>
      <xs:documentation>Extension of the standard string type with a length limit of 4096 characters.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:maxLength value="4096" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="XMLSignature">
    <xs:annotation>
      <xs:appinfo>
        <implementationHint>MUST contain the type http://www.w3.org/2000/09/xmldsig#Signature. The
signature SHOULD be applied to all elements parallel to the element using this type. 
A further technical constraint of this type is not possible due to restrictions of the XÖV model.</implementationHint>
      </xs:appinfo>
      <xs:documentation>MUST contain the type http://www.w3.org/2000/09/xmldsig#Signature. The
signature SHOULD be applied to all elements parallel to the element using this type. 
A further technical constraint of this type is not possible due to restrictions of the XÖV model.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="strict" />
    </xs:sequence>
  </xs:complexType>
</xs:schema>

