﻿<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns="http://schema.webpdf.de/1.0/report/transcribe" elementFormDefault="qualified" targetNamespace="http://schema.webpdf.de/1.0/report/transcribe" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="report">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="analysis" type="TranscribeAnalysisType" minOccurs="1" maxOccurs="1" />
                <xs:element name="result" type="TranscribeResultType" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="TranscribeDetailType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="code" type="xs:long" use="required" />
                <xs:attribute name="page" type="xs:int" use="optional" />
                <xs:attribute name="type" type="TranscribeMessageType" use="required" />
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="TranscribeAnalysisType">
        <xs:sequence>
            <xs:element name="detail" type="TranscribeDetailType" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
        <xs:attribute name="error" type="xs:int" use="required" />
        <xs:attribute name="missingcontent" type="xs:int" />
        <xs:attribute name="info" type="xs:int" use="required" />
        <xs:attribute name="warning" type="xs:int" use="required" />
    </xs:complexType>
    <xs:simpleType name="TranscribeMessageType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="unknown" />
            <xs:enumeration value="warning" />
            <xs:enumeration value="info" />
            <xs:enumeration value="missingContent" />
            <xs:enumeration value="error" />
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="TranscribeResultType">
        <xs:sequence>
            <xs:element name="error" type="xs:int" minOccurs="1" maxOccurs="1" default="0" />
            <xs:element name="message" type="xs:string" minOccurs="1" maxOccurs="1" default="" />
        </xs:sequence>
    </xs:complexType>
</xs:schema>