296 lines
9.9 KiB
XML
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>
|