Inhoud van het KpdXml-bestand

<< Klik voor weergeven inhoudsopgave >>

Navigatie:  Werken met bestanden > Importeren en exporteren > In de module Calculeren > Exporteren > Exporteren KpdXml-bestand > Beschrijving van het KpdXml >

Inhoud van het KpdXml-bestand

Het XSD-bestand dat gebruikt wordt om het KpdXml-bestand tegen te valideren is opgebouwd uit een aantal tabellen. Deze worden hieronder een voor een behandeld. De volgende tabellen zijn aanwezig:

Tabel 'IbisVoorInfra'

Tabel ‘Info’

Tabel ‘Projecten’

Tabel 'Jaarversie'

Tabel 'Releaseversie'

Tabel 'Datum'

Tabel ‘Bestekposten’

Tabel ‘Deelposten’

Tabel ‘Tarieven’

Tabel ‘Kostensoorten’

Tabel ‘Niveaus’

Tabel ‘Projecteigenschappen’

Tabel 'IbisVoorInfra'

Wanneer een begroting wordt geëxporteerd naar KpdXml formaat wordt de volgende (hoofd)tabel in het XML gevormd:

 <xs:annotation>

   <xs:documentation>=========== Ibis voor Infra ===========</xs:documentation>

 </xs:annotation>

 <xs:element name ="IbisVoorInfra">

   <xs:complexType>

     <xs:sequence>

       <xs:element ref="Info" maxOccurs="1" minOccurs="1"/>

       <xs:element ref="Projecten" maxOccurs="1" minOccurs="1"/>

       <xs:element ref="Bestekposten" maxOccurs="unbounded" minOccurs="0"/>

       <xs:element ref="Kostensoorten" maxOccurs="unbounded" minOccurs="0"/>

       <xs:element ref="Niveaus" maxOccurs="unbounded" minOccurs="3"/>

       <xs:element ref="Projecteigenschappen" maxOccurs="unbounded" minOccurs="0"/>

     </xs:sequence>

   </xs:complexType>

 </xs:element>

Tabel ‘Info’

De tabel ‘Info’ bevat de volgende informatie:

 <xs:annotation>

   <xs:documentation>=========== Info ===========</xs:documentation>

 </xs:annotation>

 <xs:element name="Info" type="Informatie"/>

 <xs:complexType name="Informatie">

   <xs:sequence>

     <xs:element name="Versie" type="xs:string" default="1.9"/>

   </xs:sequence>

 </xs:complexType>

Tabel ‘Projecten’

De tabel ‘Projecten’ bevat de volgende informatie:

 <xs:annotation>

   <xs:documentation>=========== Projecten ===========</xs:documentation>

 </xs:annotation>

 <xs:element name="Projecten" type="Project"/>

 <xs:complexType name="Project">

   <xs:sequence>

     <xs:element name="Begroting.Type" type="BegrotingTypes"/>

     <xs:element name ="Jaarversie.Raw.Catalogus" type="Jaarversie.Raw.Catalogus"/>

     <xs:element name ="Releaseversie.Raw.Catalogus" type="Releaseversie.Raw.Catalogus"/>      <xs:element name="Titel" type="xs:string"/>

     <xs:element name="Opdrachtgever" type="xs:string"/>

     <xs:element name="Calculator" type="xs:string"/>

     <xs:element name="Btw.Niveau">

       <xs:simpleType>

         <xs:restriction base="xs:string">

           <xs:pattern value="[0-9][0-9]"/>

         </xs:restriction>

       </xs:simpleType>

     </xs:element>

     <xs:element name="Besteknummer">

       <xs:simpleType>

         <xs:restriction base="xs:string">

           <xs:maxLength value="37"/>

         </xs:restriction>

       </xs:simpleType>

     </xs:element>

   </xs:sequence>

 </xs:complexType>

 <xs:simpleType name="BegrotingTypes">

   <xs:restriction base="xs:string">

     <xs:enumeration value=""/>

     <xs:enumeration value="Raw Bestek"/>

     <xs:enumeration value="Raw RO"/>

     <xs:enumeration value="Raw DO"/>

     <xs:enumeration value="Raw SMMW"/>

     <xs:enumeration value="Niet Raw"/>

     <xs:enumeration value="Niet Raw Vrij"/>

   </xs:restriction>

 </xs:simpleType>

Bijzonderheden:

A.Bij het element "Begroting.Type" kunnen de volgende waarden voorkomen:

1.Voor het type ‘RAW begroting’, contractvorm ‘Bestek’: "Raw Bestek".

2.Voor het type ‘RAW begroting’, contractvorm ‘Raamovereenkomst’: "Raw RO".

3.Voor het type ‘RAW begroting’, contractvorm ‘Deelopdracht raamovereenkomst’: "Raw DO".

4.Voor het type RAW begroting’, contractvorm ‘Staat van meer- en minderwerk’: "Raw SMMW".

5.Voor het type ‘Niet-RAW-begroting’ met ‘Staartposten conform RAW’: "Niet Raw".

6.Voor het type ‘Niet-RAW-begroting’ met ‘Vrij zonder staartposten’: "Niet Raw Vrij".

B.Bij het element "Btw.Niveau" kan enkele een waarde 02 of hoger voorkomen. Deze waarde moet ook voorkomen in de tabel ‘Niveaus’ bij het element "Code".

Tabel ‘Jaarversie’

 <xs:annotation>

   <xs:documentation>=========== Jaarversie ===========</xs:documentation>

 </xs:annotation>

 <xs:simpleType name="Jaarversie.Raw.Catalogus">

   <xs:restriction base="xs:string">

    <xs:pattern value="((20|21)[0-9][0-9])-(0[1-9]|1[012])"/>

   </xs:restriction>

 </xs:simpleType>

Tabel ‘Releaseversie’

 <xs:annotation>

   <xs:documentation>=========== Releaseversie ===========</xs:documentation>

 </xs:annotation>

 <xs:simpleType name="Releaseversie.Raw.Catalogus">

   <xs:restriction base="xs:string">

    <xs:pattern value="((20|21)[0-9][0-9])-(0[1-9]|1[012])"/>

   </xs:restriction>

 </xs:simpleType>

Tabel ‘Datum’

 <xs:annotation>

   <xs:documentation>=========== Datum ===========</xs:documentation>

 </xs:annotation>

 <xs:simpleType name="Datum">

   <xs:restriction base="xs:string">

    <xs:pattern value="((20|21)[0-9][0-9])-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])"/>

   </xs:restriction>

 </xs:simpleType>

Tabel ‘Bestekposten’

De tabel ‘Bestekposten’ bevat de volgende informatie:

 <xs:annotation>

   <xs:documentation>=========== Bestekposten ===========</xs:documentation>

 </xs:annotation>

 <xs:element name="Bestekposten" type="Bestekpost"/>

 <xs:complexType name="Bestekpost">

   <xs:sequence>

     <xs:element name="Code" type="xs:string"/>

     <xs:element name="Basiscode" type="xs:string"/>

     <xs:element name="Calculatiecode" type="xs:string"/>

     <xs:element name="Sorteercode" type="xs:string"/>

     <xs:element name="Romptekst" type="xs:string"/>

     <xs:element name="Omschrijving" type="xs:string"/>

     <xs:element name="Eenheid">

       <xs:simpleType>

         <xs:restriction base="xs:string">

           <xs:maxLength value="4"/>

         </xs:restriction>

       </xs:simpleType>

     </xs:element>

     <xs:element name="Hoeveelheid" type="xs:double"/>

     <xs:element name="Relatiefactor" type="xs:double"/>

     <xs:element name="Aard" type="Aarden"/>

     <xs:element name="Kostprijs" type="xs:double"/>

     <xs:element name="Kosten" type="xs:double"/>

     <xs:element name="Inschrijfprijs" type="xs:double"/>

     <xs:element name="Inschrijfbedrag" type="xs:double"/>

     <xs:element name="Verrekenprijs" type="xs:double"/>

     <xs:element name="Btw.Soort" type="BtwSoorten"/>

     <xs:element name="Index" type="xs:boolean"/>

     <xs:element name="Aantekening" type="Regels"/>

     <xs:element name="VrijeCode1" type="xs:string"/>

     <xs:element name="VrijeCode2" type="xs:string"/>

     <xs:element name="HoortBijOrigineel" type="xs:integer"/>

     <xs:element ref="Bestekposten" maxOccurs="unbounded" minOccurs="0"/>

     <xs:element ref="Deelposten" maxOccurs="unbounded" minOccurs="0"/>

   </xs:sequence>

 </xs:complexType>

 

   <xs:complexType name ="Regels">

     <xs:sequence>

       <xs:element name="Regel" type="xs:string" maxOccurs="unbounded" minOccurs="0"/>

     </xs:sequence>

   </xs:complexType>

 

 <xs:simpleType name="Aarden">

   <xs:restriction base="xs:string">

     <xs:enumeration value=""/>

     <xs:enumeration value="V"/>

     <xs:enumeration value="N"/>

     <xs:enumeration value="M"/>

     <xs:enumeration value="O"/>

     <xs:enumeration value="A"/>

     <xs:enumeration value="F"/>

   </xs:restriction>

 </xs:simpleType>

 

 <xs:simpleType name="BtwSoorten">

   <xs:restriction base="xs:string">

     <xs:enumeration value="Hoog"/>

     <xs:enumeration value="Laag"/>

     <xs:enumeration value="Geen"/>

   </xs:restriction>

 </xs:simpleType>

Bijzonderheden:

A.In deze tabel worden alle niveaus met de waarde 02 en hoger opgenomen. Deze niveaus moeten ook voorkomen in de tabel ‘Niveaus’.

B.Bij het element "Aard" kunnen de volgende waarden voorkomen:

1.Voor het type ‘Geen’: "".

2.Voor het type ‘Verrekenbaar’: "V".

3.Voor het type ‘Niet verrekenbaar’: "N".

4.Voor het type ‘Minder werk’: "M".

5.Voor het type ‘Open’: "O".

6.Voor het type ‘Accorderen’: "A".

7.Voor het type ‘Fictief’: "F".

C.Bij het element "Btw.Soort" kunnen de volgende waarden voorkomen:

1.Voor het type ‘Hoog’: "Hoog".

2.Voor het type ‘Laag’: "Laag".

3.Voor het type ‘Geen’: "Geen".

D.Bij het element "HoortBijOrigineel" kunnen de volgende waarden voorkomen:

1.Voor bestekposten met de status ‘behoort tot originele Raamovereenkomst’: "1".

2.Voor bestekposten met de status ‘behoort NIET tot originele Raamovereenkomst’: "2".

3.Voor bestekposten met de status ‘toegevoegd aan Deelopdracht’: "0".

E.Het element "HoortBijOrigineel" heeft alleen een betekenis als in de tabel ‘Projecten’ het element "Begroting.Type" de waarde "Raw RO" of "Raw DO" bevat. Bij alle andere waarden bij het element "Begroting.Type" is de waarde van het element "HoortBijOrigineel" bij alle bestekposten "0".

Tabel ‘Deelposten’

Het niveau ‘Deelposten‘ bevat de volgende informatie:

 <xs:annotation>

   <xs:documentation>=========== Deelposten ===========</xs:documentation>

 </xs:annotation>

 <xs:element name="Deelposten" type="Deelpost"/>

 <xs:complexType name="Deelpost">

   <xs:sequence>

     <xs:element name="Code" type="xs:string"/>

     <xs:element name="Basiscode" type="xs:string"/>

     <xs:element name="Calculatiecode" type="xs:string"/>

     <xs:element name="Sorteercode" type="xs:string"/>

     <xs:element name="Omschrijving" type="Regels"/>

     <xs:element name="Eenheid">

       <xs:simpleType>

         <xs:restriction base="xs:string">

           <xs:maxLength value="4"/>

         </xs:restriction>

       </xs:simpleType>

     </xs:element>

     <xs:element name="Hoeveelheid" type="xs:double"/>

     <xs:element name="Relatiefactor" type="xs:double"/>

     <xs:element name="Kostprijs" type="xs:double"/>

     <xs:element name="Kosten" type="xs:double"/>

     <xs:element name="Productie" type="xs:double"/>

     <xs:element name="Aantekening" type="Regels"/>

     <xs:element name="VrijeCode1" type="xs:string"/>

     <xs:element name="VrijeCode2" type="xs:string"/>

 

     <xs:element ref="Tarieven" maxOccurs="unbounded" minOccurs="0"/>

   </xs:sequence>

 </xs:complexType>

Tabel ‘Tarieven’

Het niveau ‘Tarieven‘ bevat de volgende informatie:

 <xs:annotation>

   <xs:documentation>===========Tarieven ===========</xs:documentation>

 </xs:annotation>

 <xs:element name="Tarieven" type="Tarief"/>

 <xs:complexType name="Tarief">

   <xs:sequence>

     <xs:element name="Code" type="xs:string"/>

     <xs:element name="Basiscode" type="xs:string"/>

     <xs:element name="Sorteercode" type="xs:string"/>

     <xs:element name="Omschrijving" type=" Regels "/>

     <xs:element name="Eenheid">

       <xs:simpleType>

         <xs:restriction base="xs:string">

           <xs:maxLength value="4"/>

         </xs:restriction>

       </xs:simpleType>

     </xs:element>

     <xs:element name="Kostprijs" type="xs:double"/>

     <xs:element name="Wegingsfactor.Kostprijs" type="xs:double"/>

     <xs:element name="Kostprijs.Inclusief" type="xs:double"/>

     <xs:element name="Productie" type="xs:double"/>

     <xs:element name="Wegingsfactor.Productie" type="xs:double"/>

     <xs:element name="Productie.Inclusief" type="xs:double"/>

     <xs:element name="Productie.Type" type= "ProductieTypen" default="Productie"/>

     <xs:element name="Aantal" type="xs:double"/>

     <xs:element name="Inzet" type="xs:double"/>

     <xs:element name="Hoeveelheid" type="xs:double"/>

     <xs:element name="Totale.Hoeveelheid" type="xs:double"/>

     <xs:element name="Kosten" type="xs:double"/>

     <xs:element name="Kosten.Inclusief" type="xs:double"/>

     <xs:element name="Grootboek" type="xs:string"/>

     <xs:element name="Bronvermelding" type="xs:string"/>

     <xs:element name="Aantekening" type=" Regels "/>

     <xs:element name="VrijeCode1" type="xs:string"/>

     <xs:element name="VrijeCode2" type="xs:string"/>

     <xs:element name="Artikelcode" type="xs:string"/>

     <xs:element name="IBcode" type="xs:string"/>

     <xs:element name="ArtikelBlokkeerstatus" type="xs:boolean"/>

     <xs:element name="ArtikelBeschikbaarheidsstatus" type="Beschikbaarheidsstatus" minOccurs="0"/>

     <xs:element name="ArtikelGTINCode" type="xs:string"/>

     <xs:element name="LeverancierGLNCode" type="xs:string"/>

     <xs:element name="LeverancierNaam" type="xs:string"/>

     <xs:element name="LeverancierArtikelcode" type="xs:string"/>

     <xs:element name="ArtikelprijsDatum" type="Datum" minOccurs="0"/>

     <xs:element name="ArtikelURL" type="xs:string"/>

     <xs:element ref="Tarieven" maxOccurs="unbounded" minOccurs="0"/>

   </xs:sequence>

 </xs:complexType>

 

 <xs:simpleType name=" Beschikbaarheidsstatus ">

   <xs:restriction base="xs:string">

     <xs:enumeration value="Actueel"/>

     <xs:enumeration value="Inlopend"/>

     <xs:enumeration value="Uitlopend"/>

     <xs:enumeration value="Vervallen"/>

     <xs:enumeration value="Niet_gevonden"/>

   </xs:restriction>

 </xs:simpleType>

 

 <xs:simpleType name="ProductieTypen">

   <xs:restriction base="xs:string">

     <xs:enumeration value="Productie"/>

     <xs:enumeration value="Norm"/>

     <xs:enumeration value="Vaste hoeveelheid"/>

   </xs:restriction>

 </xs:simpleType>

Bijzonderheden:

A.De eerste twee karakters van het element "Code" bepalen tot welke kostensoort uit de tabel ‘Kostensoorten’ een tarief behoort. Deze twee karakters worden gemapt met het element "Code" uit de tabel ‘Kostensoorten’.

B.Bij het element "Productie.Type" kunnen de volgende waarden voorkomen:

1.Voor het type ‘Productie’: "Productie". Dit is bij een import van een KpdXml tevens de standaardwaarde, mocht deze niet voorkomen.

2.Voor het type ‘Nom’: "Norm".

3.Voor het type ‘Vaste hoeveelheid’: "Vaste hoeveelheid".

Tabel ‘Kostensoorten’

De tabel ‘Kostensoorten‘ bevat de volgende informatie:

 <xs:annotation>

   <xs:documentation>=========== Kostensoorten ===========</xs:documentation>

 </xs:annotation>

 <xs:element name="Kostensoorten" type="Kostensoort"/>

 <xs:complexType name="Kostensoort">

   <xs:sequence>

     <xs:element name="Code">

       <xs:simpleType>

         <xs:restriction base="xs:string">

           <xs:pattern value="[0-9][0-9]"/>

         </xs:restriction>

       </xs:simpleType>

     </xs:element>

     <xs:element name="Omschrijving">

       <xs:simpleType>

         <xs:restriction base="xs:string">

         <xs:maxLength value="50"/>

         </xs:restriction>

       </xs:simpleType>

     </xs:element>

     <xs:element name="Kosten.Type" type="KostenTypen"/>

   </xs:sequence>

 </xs:complexType>

 

 <xs:simpleType name="KostenTypen">

   <xs:restriction base="xs:string">

     <xs:enumeration value=""/>

     <xs:enumeration value="Algemene kosten"/>

     <xs:enumeration value="Arbeid"/>

     <xs:enumeration value="Materiaal"/>

     <xs:enumeration value="Materieel"/>

     <xs:enumeration value="Onderaanneming"/>

     <xs:enumeration value="Overige kosten"/>

   </xs:restriction>

 </xs:simpleType>

Bijzonderheden:

A.Bij het element "Kosten.Type" kunnen de volgende waarden voorkomen:

1.Voor het type ‘Geen’: "".

2.Voor het type ‘Algemene kosten’: "Algemene kosten".

3.Voor het type ‘Arbeid’: "Arbeid".

4.Voor het type ‘Materiaal’: "Materiaal".

5.Voor het type ‘Materieel’: "Materieel".

6.Voor het type ‘Onderaanneming’: "Onderaanneming".

7.Voor het type ‘Overige kosten’: "Overige kosten".

Tabel ‘Niveaus’

De tabel ‘Niveaus‘ bevat de volgende informatie:

 <xs:annotation>

   <xs:documentation>=========== Niveaus ===========</xs:documentation>

 </xs:annotation>

 <xs:element name="Niveaus" type="Niveau"/>

 <xs:complexType name="Niveau">

   <xs:sequence>

     <xs:element name="Code">

       <xs:simpleType>

         <xs:restriction base="xs:string">

           <xs:pattern value="[0-9][0-9]"/>

         </xs:restriction>

       </xs:simpleType>

     </xs:element>

     <xs:element name="Omschrijving">

       <xs:simpleType>

         <xs:restriction base="xs:string">

           <xs:maxLength value="50"/>

         </xs:restriction>

       </xs:simpleType>

     </xs:element>

   </xs:sequence>

 </xs:complexType>

Bijzonderheden:

A.Bij het element "Niveaus" zijn altijd de volgende drie waarden aanwezig:
"Code"="02", "Omschrijving"="Bestekposten".
"Code"="01", "Omschrijving"="Deelposten".
"Code"="00", "Omschrijving"="Tarieven".

Tabel ‘Projecteigenschappen’

De tabel ‘Projecteigenschappen‘ bevat de volgende informatie:

 <xs:annotation>

   <xs:documentation>=========== Projecteigenschappen ===========</xs:documentation>

 </xs:annotation>

 <xs:element name="Projecteigenschappen" type="Projecteigenschap"/>

 <xs:complexType name="Projecteigenschap">

   <xs:sequence>

     <xs:element name="Omschrijving">

       <xs:simpleType>

         <xs:restriction base="xs:string">

           <xs:maxLength value="50"/>

         </xs:restriction>

       </xs:simpleType>

       <xs:element name="Waarde"> type="xs:string"/>

   </xs:sequence>

 </xs:complexType>