Veloconnect XML schema
The XML syntax of the messages is defined in an XML schema. This schema's normative description is provided in the files ending in xsd
and located in the xsd directory. These files are normative for syntactic correctness, and can be used by suitable parsers for automatic validation. The Veloconnect-1.3.xsd file contains all the necessary import declarations for this purpose. Insofar as this specification provides details on the syntax of XML elements, provided here are purely transcriptions from the XML schema laid down in the xsd files.
Business-related entities such as price, quantity and article are described using the vocabulary provided by Universal Business Language 1.0 (UBL). The UBL scheme is broken down into several namespaces, of which we explicitly use the following:
urn:oasis:names:specification:ubl:schema:xsd:UnspecializedDatatypes-1.0
urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0
urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0
We have made the following changes and additions in the last two namespaces:
CommonBasicComponents was supplemented by the DeliveryDate and BacklogIndicator elements.
CommonAggregateComponents was supplemented by the RecommendedRetailPrice, UnitPrice and ItemReplacement elements.
The Item element in CommonAggregateComponents was supplemented by the RecommendedRetailPrice and ItemInformation elements.
The basic nature of these changes, however, is such that document instances according to the original UBL schema basically remain valid documents according to the modified schema.
The schema definitions of Veloconnect are distributed among several modules which depend on each other in some cases. Each module has its own namespace, whose name is formed according to the version guideline. In the current specification, we have five modules with the following namespaces:
urn:veloconnect:profile-1.3 (profile-1.3.xsd)
urn:veloconnect:transaction-1.0 (transaction-1.0.xsd)
urn:veloconnect:order-1.1 (order-1.1.xsd)
urn:veloconnect:catalog-1.1 (catalog-1.1.xsd)
urn:veloconnect:receipt-1.3 (receipt-1.3.xsd)
The schema files and this specification use the following prefixes for namespaces:
udt for urn:oasis:names:specification:ubl:schema:xsd:UnspecializedDatatypes-1.0
cbc for urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0
cac for urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0
vcc for urn:Veloconnect:catalog-1.1
vcp for urn:Veloconnect:profile-1.3
vct for urn:Veloconnect:transaction-1.0
vcr for urn:Veloconnect:receipt-1.3
vco for urn:Veloconnect:order-1.1
xsd for http://www.w3.org/2001/XMLSchema
These prefixes are not mandatory. Especially in the case of XML documents generated via an object schema mapping (such as JAXB), the employed prefixes can be completely different, such as ns1, ns2, etc. The correctness of the XML document is always determined decisively by the fully qualified names of the elements resulting from the local name and namespace. The prefix is only a tool to communicate the namespace briefly and concisely.
Within each xsd file, no prefix is used for the current namespace. An XML document instance valid according to this XML schema must use qualified names, that is, with namespace specifications. In particular, this makes it possible to distinguish between different versions of this specification. The section on version management and compatibility explains how future versions of the Veloconnect specification might differ from this one, and how to accommodate this in implementations.