Wat zijn veelvoorkomende XML errors?

Gewijzigd op Do, 10 Aug, 2023 om 12:09 PM

Once you’re ready with the XML it might happen you get an error notification, when you try to upload the link. Which means things have to be fixed before the import of your trainings can start. In this document, you find frequently occuring errors and its explanation. Missing errors? Feel free to contact our support team (opleidersupport@studytube.nl). We will add them with its explanation.


Note: the document is written in english as it is created with our development team. 


<Products>  (Required field)


<Product> (Required field)

  • Element 'Product': Missing child element(s). Expected is one of ( Name, Agenda, TargetEducationalLevel, TrainingLevel, Certificate, EducationalPoints, QualityMarks, AdditionalCosts, Trainers, Duration ). Which means: Structure is wrong the element “Product” cannot be found in the expected place.

<ID> (Required field) Unique ID for the Product

  • Element 'ID': '41202' is not a valid value of the atomic type 'xs:ID'. Which means: this element cannot begin with a digit character.

<Name>  (Required field)


<Description> (Required field)


<Agenda> Agenda of the Product


<TargetEducationalLevel> TargetEducationalLevel options: MBO, HBO, WO


<TrainingLevel> TrainingLevel options: beginner, intermediate, advanced 


<Language> (Required field)  You can select one alpha 2 code from this list: http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

  • Element 'Language': [facet 'pattern'] The value 'NL' is not accepted by the pattern '[a-z]{2}'. Which means: NL is not a proper value it should be exactly as ISO_639-1 defined it ‘nl’


<TrainingPriceExVAT> (Required field) Training price excluding VAT.


<VATPercentage> (Required field)


<Certificate> Certifying company. Options: NIBHV; NIKTA; NVB ; VCA infra; DNV-GL/ SVWOH; NBCE; CKB; SIR; TCVT; VCA Nederland; Lean Competency System; Het Oranje Kruis; AXELOS; NOvA; MfN; PWO; NEVOA; Certificaat opleider


<EducationalPoints> Educational Points of the Classroom Training

<EducationalPoint>

    <Points> (Required field) Points: Value you want to assign. Greater than zero.

<OrganizationShortName> (Required field) OrganizationShortName options: ADR International Register; AEDES; BureauBTV; CRKBO; CDFD; ECDL; HOK; IIA; KIWA; AG; KNB; Kwaliteitsregister V&V; MfN; NBA; NOAB; NOvA; NOBCO; NVAS; NIRPA; NIMA; Norea; PMI; Register Financieel Management; Registerleraar; Registerplein; VRC; KBvG; Code 95; PWO


<QualityMarks> Quality Marks of the Classroom Training.

    <QualityMark>

        <Name> (Required field) Options: ISO Register; Microsoft Learning Partner; NIBHV; NRTO; CEDEO; CRKBO Instelling; Mediatorsfederatie Nederland; NOvA; Nederlandse Associatie voor Examinering; STIBEX; CRKBO Docent; NIMA Education Partner; NOBCO; NVNLP; SNRO; Cpion; De European Mentoring & Coaching Council (EMCC); StiR; noloc; Pearson; TalentLens; NOBTRA; Society of NLP; Stichting Kwaliteitsregister Jeugd, SKJ; Registerplein; KIWA; VCA infra; DNV-GL; DEKRA; SIR; ISO9001; TCVT; AXELOS; Peoplecert; EXIN


<AdditionalCosts> In this section you can describe additional cost of your Product.

    <AdditionalCost>

        <Type> (Required field) You can specify the name of the extra cost, for example: 'accommodation','lunch' or 'travel' cost" 

        <AdditionalCostPriceExVAT> (Required field) Price excluding VAT

        <VATPercentage> (Required field) VAT percentage: 0, 9, or 21

<Trainers>

<Trainer>

    <Name> (Required field) Name of the trainer


<Category> (Required field) Category options: Arbo & Veiligheid; Automatisering & ICT/IT; Communicatie; Financieel; HR; Inkoop & Logistiek; Internet & Media; Juridisch; Kwaliteit & Projectmanagement; Management; Marketing; Opleiding & Onderwijs; Persoonlijke Effectiviteit; Productie, Techniek & Bouw; Sales; Secretarieel & Administratief; Sport & Vitaliteit; Taalcursus; Vastgoed & Makelaardij; Zorg & Verzorging; Overig; translation missing: nl.training_provider.categories.coaching; translation missing: nl.training_provider.categories.geographic_data_and_information>


  • Element 'Category': [facet 'enumeration'] The value 'Praktisch Gasmeten (examentraining voorbereiding R-DLP examen conform CROW P400)' is not an element of the set {'Arbo & Veiligheid', 'Automatisering & ICT/IT', 'Communicatie', 'Financieel', 'HR', 'Inkoop & Logistiek', 'Internet & Media', 'Juridisch', 'Kwaliteit & Projectmanagement', 'Management', 'Marketing', 'Opleiding & Onderwijs', 'Persoonlijke Effectiviteit', 'Productie, Techniek & Bouw', 'Sales', 'Secretarieel & Administratief', 'Sport & Vitaliteit', 'Taalcursus', 'Vastgoed & Makelaardij', 'Zorg & Verzorging', 'Overig', 'translation missing: nl.training_provider.categories.coaching', 'translation missing: nl.training_provider.categories.geographic_data_and_information'}. 

Which means: the category you have added is not known in our system, please pick one of our displayed categories. Which means that the value of the category that was provided is not one from the list of available categories. There is also a common pitfall when they put category name with `&` character it should be html encoded otherwise their feed would be broken. Here is an example of categories that should be encoded in their encoded representation: Arbo &amp; Veiligheid, Automatisering &amp; ICT/IT, Inkoop &amp; Logistiek, Internet &amp; Media, Kwaliteit &amp; Projectmanagement, Opleiding &amp; Onderwijs, Techniek &amp; Bouw, Secretarieel &amp; Administratief, Sport &amp; Vitaliteit, Vastgoed &amp; Makelaardij, Zorg &amp; Verzorging.


<SubCategory> (Required field) This field depends on the <Category> node. Each <Category> value has a set of possible sub-categories. Depending on the category you choose, you will have a set of options for this field.  You can use comma-separated values in this node. eg: <SubCategory>Creatief schrijven, Effectief Communiceren</SubCategory> 

The list with subcategories can be found here: Welke subcategorieën kan ik kiezen voor XML?


<Duration> Duration of the product using the specified <DurationUnit>. Must be greater than 0. 


<DurationUnit> Choose only one option: minutes, hours, days, weeks, months or years


<WebAddress> Define the web address for this Product


<PdfBrochure> Define the URL to the pdf-brochure


<ScheduleType> (Required field) Choose only one option: scheduled, nodate. We have the following cases for each type:

Scheduled:

  1- <LiveSession> nodes with date(s) and location

  2- <LiveSession> nodes with date(s) and URL

Nodate:

  1- NO <LiveSession>. This type will never have a date in Studytube. The user can take the training anytime. It can be used for example if you have your own online trainings and you will send a link to your training to the user yourself.

  • Element 'ScheduleType': [facet 'enumeration'] The value 'Praktisch Gasmeten (examentraining voorbereiding R-DLP examen conform CROW P400)' is not an element of the set {'scheduled', 'nodate'}. Which means: the value was wrong it should be 'scheduled' or 'nodate'.

<Discounts>

      <Discount>

        <CompanyID> (Required field)

        <Price> (Required field)


<RequiredUserFields> Define required user field to be in the training request.

    <Field>


<LiveSessions>

IMPORTANT NOTE:

 In case of 'nodate' <ScheduleType>, a training will never has a date in Studytube. In case of 'scheduled' <ScheduleType> training will always require a date in order to accept the booking by the Provider. The most common case is to have scheduled trainings. Only in an exceptional case (for example when you have your own online trainings) you will select the 'nodate' type.

Please, notice that the structure of the following nodes depends on the value of the <ScheduleType> node. For each possible value of <ScheduleType> node we have one example structure for your nodes. In case of 'nodate' <ScheduleType>, leave <LiveSessions> node empty. IN BOTH CASES THIS NODE MUST BE PRESENT.


Case scheduled 1: <ScheduleType>scheduled</ScheduleType> 

<LiveSession> (Required field)

    <ID> (Required field) Include a unique ID for each <LiveSession>

    <LocationName> The location's name of the <LiveSession> node. Also the text shown in the location section. 

    <Location> (Required field) The location's of the <LiveSession> node. Please, use the following format: StreetName Number, Postal Code, City, Country

    <LiveSessionClosed> (Required field) Within 1 <LiveSessionDates> you can have multiple <LiveSessionDate>. A booking is done on <LiveSession> level, so the booking is on all <LiveSessionDates> within this <LiveSession>. This means, if you put multiple <LiveSessionDate>, the user will be registered for all the dates within the <LiveSessionDates>. If bookings should be done for individual dates, please create different <LiveSessions>. In most cases, each <LiveSessionDates> will only contain 1 <LiveSessionDate>.


  • Element 'LiveSessionClosed': 'False' is not a valid value of the atomic type 'xs:boolean'. False is not a proper value it should be one of ‘false’ or ‘true’.


    <LiveSessionDates> (Required field)

        <LiveSessionDate>

            <StartDate> (Required field)

            <StartTime> (Required field)

            <EndTime> (Required field)

Case scheduled 2: <ScheduleType>nodate</ScheduleType> 

<LiveSession> (Required field)

<LiveSession> (Required field)

<ID> (Required field) Include a unique ID for each <LiveSession>

<Url> (Required field) URL for your training

<LiveSessionClosed> (Required field) Choose only one option: true, false. If this is 'false', you can still accept bookings on this <LiveSession>. If you choose 'true', bookings on this <LiveSession> will not be possible anymore.

<LiveSessionDates> (Required field) Within 1 <LiveSessionDates> you can have multiple <LiveSessionDate>. A booking is done on <LiveSession> level, so the booking is on all <LiveSessionDates> within this <LiveSession>. This means, if you put multiple <LiveSessionDate>, the user will be registered for all the dates within the <LiveSessionDates>. If bookings should be done for individual dates, please create different <LiveSessions>. In most cases, each <LiveSessionDates> will only contain 1 <LiveSessionDate>.

<LiveSessionDate>

<StartDate> (Required field)

<StartTime> (Required field)

<EndTime> (Required field)

Was dit artikel nuttig?

Dat is fantastisch!

Hartelijk dank voor uw beoordeling

Sorry dat we u niet konden helpen

Hartelijk dank voor uw beoordeling

Laat ons weten hoe we dit artikel kunnen verbeteren!

Selecteer tenminste een van de redenen
CAPTCHA-verificatie is vereist.

Feedback verzonden

We stellen uw moeite op prijs en zullen proberen het artikel te verbeteren