XML schema changes

Changes from previous Find a Tender versions

The following changes have been made in R2.0.8.S05, R2.0.9.S04 and XSLT 037.

1. Increase version numbers

XML using the current schemas is distinguished from that using the old schemas by the VERSION attribute on <TED_EXPORT> (for publication XML) or <TED_ESENDERS> (for reception XML). The previous versions:

  • R2.0.8.S04
  • R2.0.9.S03

have been changed to:

  • R2.0.8.S05
  • R2.0.9.S04

2. NUTS 2021 update

An updated list of NUTS codes is used by the current schemas for specifying regions.

(a) Namespace change

Both publication and reception XML will now refer to NUTS 2021 instead of 2016, changing:

xmlns:n2016="http://enotice.service.gov.uk/resource/schema/ted/2016/nuts"

to:

xmlns:n2021="http://enotice.service.gov.uk/resource/schema/ted/2021/nuts"

(b) 250 NUTS codes allowed

The number of NUTS codes allowed when specifying contract location has been increased to 250:

  • R2.0.8 - previously 99 codes allowed
    • Section II - Type of contract and location of works, place of delivery or of performance
  • R2.0.9 - previously 20 codes allowed
    • II.2.3. Place of performance
    • F20 - VII.1.3. Place of performance

(c) Buyer countries matched to NUTS codes

(R2.0.9 XSLT rule R127)

NUTS code 00 has been removed and all missing country codes added to the NUTS 2021 list.

Previously, in R2.0.9 forms only, in I.1 and V.2.3, NUTS code 00 had to be used for country codes not in the NUTS 2016 list. Now the NUTS code must match the country code in these cases.

For example, NUTS 2016 code 00 previously had to be used with country code AQ for Antarctica, but now NUTS 2021 code AQ must be used.

3. Currencies update

The R2.0.8 and R2.0.9 schemas previously allowed different currencies to be used. Both have been updated to use a common list of 157 currencies.

(a) R2.0.9 update

Currencies removed:

  • CYP (Cypriot pounds)
  • EEK (Estonian kroon)
  • LTL (Litas Litai)
  • LVL (Lats Lati)
  • MRO (Ouguiya Ouguiyas) – changed to MRU
  • MTL (Maltese lira)
  • SKK (Slovak koruna)
  • SQS (Somaliland shilling)
  • STD (Dobra Dobras) – changed to STN
  • TVD (Tuvaluan dollar)
  • VEF (Bolívar) – changed to VES

Currencies added:

  • MRU (Ouguiya Ouguiyas) – changed from MRO
  • STN (Dobra Dobras) – changed from STD
  • SVC (Salvadorian colón)
  • VES (Bolívar soberano) – changed from VEF

(b) R2.0.8 update

Currencies removed:

  • CYP (Cypriot pounds)
  • EEK (Estonian kroon)
  • LTL (Litas Litai)
  • LVL (Lats Lati)
  • MTL (Maltese lira)
  • SKK (Slovak koruna)

140 codes have been added.

4. Buyer emails mandatory

(R2.0.8 XSLT rule R123)

R2.0.8 notices must now include an email address for the first/main buyer. It was already mandatory in R2.0.9 notices.

5. Previous notice mandatory for unsuccessful awards

(R2.0.9 XSLT rule R560)

If “No tenders or requests to participate were received or all were rejected” (<PROCUREMENT_UNSUCCESSFUL>) is selected in V.1 of an award notice then the previous notice must be included in IV.2.1.

Changes from TED schemas

Find a Tender XML formats are based on those used by Tenders Electronic Daily (TED), but there are some differences as follows.

Publication XML changes

Data consumers will see different namespaces defined in the <TED_EXPORT> element, changing:

  • http://publications.europa.eu/resource/schema/ted/R2.0.9/publication
  • http://publications.europa.eu/resource/schema/ted/2021/nuts
  • http://publications.europa.eu/resource/schema/ted/R2.0.9/publication TED_EXPORT.xsd

to:

  • http://enotice.service.gov.uk/resource/schema/ted/R2.0.9/publication
  • http://enotice.service.gov.uk/resource/schema/ted/2021/nuts
  • http://enotice.service.gov.uk/resource/schema/ted/R2.0.9/publication TED_EXPORT.xsd

Example:

<TED_EXPORT xmlns="http://enotice.service.gov.uk/resource/schema/ted/R2.0.9/publication" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:n2021="http://enotice.service.gov.uk/resource/schema/ted/2021/nuts" VERSION="R2.0.9.S04.E01" xsi:schemaLocation="http://enotice.service.gov.uk/resource/schema/ted/R2.0.9/publication TED_EXPORT.xsd" DOC_ID="123456-2021" EDITION="2021001">

Reception XML changes

Data providers (eSenders) must submit XML with different namespaces defined in the <TED_ESENDERS> element, changing:

  • http://publications.europa.eu/resource/schema/ted/R2.0.9/reception
  • http://publications.europa.eu/resource/schema/ted/2021/nuts
  • http://publications.europa.eu/resource/schema/ted/R2.0.9/reception TED_ESENDERS.xsd

to:

  • http://enotice.service.gov.uk/resource/schema/ted/R2.0.9/reception
  • http://enotice.service.gov.uk/resource/schema/ted/2021/nuts
  • http://enotice.service.gov.uk/resource/schema/ted/R2.0.9/reception TED_ESENDERS.xsd

Example:

<TED_ESENDERS xmlns="http://enotice.service.gov.uk/resource/schema/ted/R2.0.9/reception" xmlns:n2021="http://enotice.service.gov.uk/resource/schema/ted/2021/nuts" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="R2.0.9.S04" xsi:schemaLocation="http://enotice.service.gov.uk/resource/schema/ted/R2.0.9/reception TED_ESENDERS.xsd">

XSLT validation changes

In rule R107, we allow issue 000 as used by Find a Tender as well as issues 001 to 259 for TED, by changing:

<xsl:when test="matches(./text(),'^(20|19)\d{2}/S (((00)?[1-9])|([0]?[1-9][0-9])|(1[0-9][0-9])|(2[0-5][0-9]))-\d{6}$')"/>

to:

<xsl:when test="matches(./text(),'^(20|19)\d{2}/S (((00)?[0-9])|([0]?[1-9][0-9])|(1[0-9][0-9])|(2[0-5][0-9]))-\d{6}$')"/>

New rule in full:

<xsl:template match="*:NOTICE_NUMBER_OJ" mode="R107">
<xsl:choose>
<xsl:when test="matches(./text(),'^(20|19)\d{2}/S (((00)?[0-9])|([0]?[1-9][0-9])|(1[0-9][0-9])|(2[0-5][0-9]))-\d{6}$')"/>
<xsl:otherwise>
<xsl:call-template name="msg">
<xsl:with-param name="rule" select="'R107'"/>
<xsl:with-param name="content" select="concat(local-name(.),' with value ',current())"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>