pentext/xml/dtd/offerte.xsd
2019-06-21 17:04:53 +02:00

296 lines
9.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" vc:minVersion="1.0" vc:maxVersion="1.1">
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:import namespace="http://www.w3.org/2001/XInclude"
schemaLocation="http://www.w3.org/2001/XInclude/XInclude.xsd"/>
<xs:include schemaLocation="servicebreakdown.xsd"/>
<xs:include schemaLocation="common.xsd"/>
<xs:element name="offerte">
<xs:complexType>
<xs:sequence>
<xs:element ref="meta"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="generate_index"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="div"/>
<xs:element maxOccurs="unbounded" ref="section"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="annex"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="waivers"/>
</xs:sequence>
<xs:attribute ref="xml:lang"/>
</xs:complexType>
</xs:element>
<xs:element name="meta">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:element ref="subtitle" minOccurs="0"/>
<xs:element ref="client_reference" minOccurs="0"/>
<xs:element ref="offered_service_long"/>
<xs:element ref="offered_service_short"/>
<xs:element ref="company"/>
<xs:element ref="targets" minOccurs="0"/>
<xs:element ref="permission_parties" minOccurs="0"/>
<xs:element ref="activityinfo"/>
<xs:element ref="version_history"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="offered_service_long" type="xs:string"/>
<xs:element name="offered_service_short" type="xs:string"/>
<xs:element name="activityinfo">
<xs:complexType>
<xs:all>
<xs:element ref="persondays" minOccurs="1"/>
<xs:element ref="planning" minOccurs="1"/>
<xs:element ref="report_due" minOccurs="1"/>
<xs:element ref="nature" minOccurs="1"/>
<xs:element ref="type" minOccurs="1"/>
<xs:element ref="fee" minOccurs="0"/>
<xs:element ref="organizational_readiness_assessment" minOccurs="0"/>
<xs:element ref="security_incident_management" minOccurs="0"/>
<xs:element ref="technical_artefact_analysis" minOccurs="0"/>
<xs:element minOccurs="0" ref="target_application"/>
<xs:element minOccurs="0" ref="target_application_producer"/>
<xs:element ref="breakdown" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="organizational_readiness_assessment">
<xs:complexType>
<xs:sequence>
<xs:element ref="rate"/>
<xs:element ref="team"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="team">
<xs:complexType>
<xs:sequence>
<xs:element ref="member" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="member">
<xs:complexType>
<xs:sequence>
<xs:element ref="name"/>
<xs:element ref="expertise"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="expertise" type="xs:string"/>
<xs:element name="security_incident_management" type="ir_service"/>
<xs:element name="technical_artefact_analysis" type="ir_service"/>
<xs:complexType name="ir_service">
<xs:sequence>
<xs:element ref="rate"/>
</xs:sequence>
</xs:complexType>
<xs:element name="annex">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:choice maxOccurs="unbounded">
<xs:element name="p" type="block"/>
<xs:element ref="pre"/>
<xs:element ref="table"/>
<xs:element ref="ol"/>
<xs:element ref="ul"/>
<xs:element ref="img"/>
<xs:element ref="div"/>
<xs:element ref="section"/>
<xs:element ref="generate_targets"/>
</xs:choice>
</xs:sequence>
<xs:attribute ref="xml:base"/>
<xs:attribute ref="xml:lang"/>
<xs:attribute ref="visibility" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="waivers">
<xs:complexType>
<xs:sequence>
<xs:element ref="standard_waiver"/>
<xs:element ref="alternative_waiver" minOccurs="0"/>
</xs:sequence>
<xs:attribute ref="xml:base"/>
<xs:attribute ref="xml:lang"/>
<xs:attribute name="annex_number" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="standard_waiver">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:choice maxOccurs="unbounded">
<xs:element name="p" type="block"/>
<xs:element ref="ul"/>
<xs:element ref="generate_targets"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="alternative_waiver">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:choice maxOccurs="unbounded">
<xs:element name="p" type="block"/>
<xs:element ref="ul"/>
<xs:element ref="generate_targets"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="Ref" use="optional" type="xs:IDREFS"/>
</xs:complexType>
</xs:element>
<xs:complexType name="block" mixed="true">
<xs:choice maxOccurs="unbounded">
<xs:group ref="inline-all"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="generate_permission_parties"/>
<xs:group ref="placeholders"/>
</xs:choice>
<xs:attribute ref="xml:base"/>
</xs:complexType>
<xs:element name="section">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="pre"/>
<xs:element name="p" type="block"/>
<xs:element ref="section"/>
<xs:element ref="table"/>
<xs:element ref="ul"/>
<xs:element ref="ol"/>
<xs:element ref="img"/>
<xs:element ref="div"/>
<xs:element ref="contact"/>
<xs:element ref="generate_targets"/>
<xs:element name="generate_teammembers"/>
<xs:element name="generate_service_breakdown">
<xs:complexType>
<xs:attribute name="format" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="list"/>
<xs:enumeration value="table"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element ref="signature_box"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="id" use="optional" type="xs:ID"/>
<xs:attribute name="todo" use="optional" type="xs:string"/>
<xs:attribute ref="break" use="optional"/>
<xs:attribute ref="xml:base"/>
<xs:attribute ref="xml:lang"/>
</xs:complexType>
</xs:element>
<xs:element name="contact">
<xs:complexType>
<xs:all>
<xs:element ref="name" minOccurs="0"/>
<xs:element ref="address" minOccurs="0"/>
<xs:element ref="email" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="generate_permission_parties"/>
<xs:element name="signature_box">
<xs:complexType>
<xs:all>
<xs:element ref="client_side"/>
<xs:element ref="company_side"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="client_side" type="signature_box_column"/>
<xs:element name="company_side" type="signature_box_column"/>
<xs:complexType name="signature_box_column">
<xs:sequence>
<xs:element name="signee" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="date"/>
<xs:element name="place"/>
</xs:sequence>
</xs:complexType>
<!-- Placeholders -->
<xs:group name="placeholders">
<xs:choice>
<xs:element name="latest_version_date"/>
<xs:element name="client_long"/>
<xs:element name="client_short"/>
<xs:element name="client_street"/>
<xs:element name="client_city"/>
<xs:element name="client_country"/>
<xs:element name="client_coc"/>
<xs:element name="client_legal_rep"/>
<xs:element name="client_waiver_rep"/>
<xs:element name="client_poc1"/>
<xs:element name="client_ref"/>
<xs:element name="company_long"/>
<xs:element name="company_short"/>
<xs:element name="company_svc_long"/>
<xs:element name="company_svc_short"/>
<xs:element name="company_legal_rep"/>
<xs:element name="company_address"/>
<xs:element name="company_postalcode"/>
<xs:element name="company_city"/>
<xs:element name="company_country"/>
<xs:element name="company_coc"/>
<xs:element name="company_poc1"/>
<xs:element name="t_app"/>
<xs:element name="t_app_producer"/>
<xs:element name="p_duration"/>
<xs:element name="p_persondays"/>
<xs:element name="p_boxtype"/>
<xs:element name="p_fee"/>
<xs:element name="p_testingduration"/>
<xs:element name="p_reportdue"/>
<xs:element name="p_startdate"/>
<xs:element name="p_enddate"/>
<xs:element name="signee_long"/>
<xs:element name="signee_short"/>
<xs:element name="signee_street"/>
<xs:element name="signee_city"/>
<xs:element name="signee_postal_code"/>
<xs:element name="signee_country"/>
<xs:element name="signee_waiver_rep"/>
<xs:element name="signee_legal_rep"/>
<xs:element name="ir_ora_rate"/>
<xs:element name="ir_sim_rate"/>
<xs:element name="ir_taa_rate"/>
<xs:element name="todo"/>
</xs:choice>
</xs:group>
</xs:schema>