BMEcat

From wiki.eclass.eu
Jump to: navigation, search

BMEcat is a standard for electronic data transfer by electronic catalogues created and published by the BME (Bundesverband Materialwirtschaft, Einkauf und Logistik e. V., the German association for materials management, purchasing and logistics). I.e. in contrast to the eCl@ss dictionary which describes how things can be characterized at an abstract level it is about actual instances of application classes which are described by distinct values in accordance to the dictionary.

BMEcat is

  • the standard for the exchange of electronic product catalogues
  • XML-based
  • freely available
  • usable as a licence free of charge


Contents

[edit] BMEcat 1.2

[edit] Guideline

eCl@ss offers an eCl@ss-BMEcat 1.2 Guideline which helps you to use the eCl@ss standard with the BMEcat.

The current eCl@ss-BMEcat 1.2 Guideline can be found here.

Older versions of this document can be found in the Version history of BMEcat 1.2 specification.


In this document eCl@ss describes how to exchange product data with eCl@ss and BMEcat 1.2. It contains how to exchange classification and properties including their values and it is designed for a national and international use.

[edit] DTD

For version 1.2 there is only a DTD (no schemata). eCl@ss only supports the T_NEW_CATALOG transaction.

BMEcat 1.2 DTD is here.

Documentation regarding the BMEcat 1.2 format can be obtained free of charge from the BMEcat website's download area (registration required) in German and English language.

[edit] Example

An example for BMEcat 1.2 may be found here.


[edit] BMEcat 2005

[edit] Guideline

eCl@ss offers an eCl@ss-BMEcat 2005 guideline which helps you to use eCl@ss standard with the BMEcat.

The eCl@ss-BMEcat 2005 Guideline is here.

Older versions of this document can be found in the Version history of BMEcat 2005 specification


In this document eCl@ss describes how to exchange product data with eCl@ss and BMEcat 2005. It contains how to exchange classification and properties including their values and it is designed for the national and international use. The differences between BMEcat 2005 and BMEcat 2005.1 (advanced) format are described further down below on this wiki page.

[edit] DTD

eCl@ss only supports the T_NEW_CATALOG transaction.

BMEcat 2005 DTD is here.

BMEcat 2005 schema is here.

Documentation regarding the BMEcat 2005 format can be obtained free of charge from the BMEcat website's download area (registration required) in German and English language.

[edit] Examples

Examples for BMEcat 2005 may be found here:


[edit] BMEcat 2005.1 (Advanced)

In order to transport the whole bandwidth of information, that can be expressed in the eCl@ss advanced model, there was created the BMEcat 2005.1-advanced schema.

[edit] Guideline

eCl@ss offers an eCl@ss-BMEcat 2005.1 guideline which helps you to use eCl@ss standard with the BMEcat.

The eCl@ss-BMEcat 2005.1 Guideline is here.

Older versions of this document can be found in the Version history of BMEcat 2005.1 specification


In this document eCl@ss describes how to exchange product data with eCl@ss and BMEcat 2005.1. It contains how to exchange classification and properties including their values and it is designed for the national and international use. The differences between BMEcat 2005 and BMEcat 2005.1 (advanced) format are described further down below on this wiki page.

[edit] XSD

eCl@ss only supports the T_NEW_CATALOG transaction.

BMEcat 2005.1 (Advanced) schema is here

Note that only BMEcat 2005.1 (advanced) is defined as an XML Schema, for older versions only a DTD based definition is given.

Documentation regarding the BMEcat 2005 format can be obtained free of charge from the BMEcat website's download area (registration required) in German and English language. The differences between BMEcat 2005 and BMEcat 2005.1-advanced format are described further down below on this wiki page.

[edit] Examples

Examples for BMEcat 2005.1 may be found eclass_bmecat_examples.zip here.

  • Block
  • Aspect
  • Cardinality
  • Polymorphism


[edit] Differences between BMEcat 2005 and BMEcat 2005.1-advanced

BMEcat 2005.1-advanced is fully backward compatible with BMEcat 2005, i.e. all changes in BMEcat 2005.1-advanced are optional extensions to BMEcat 2005. Goals for the BMEcat 2005.1-advanced format were to improve the multilingual capabilities of BMEcat as well as to support products according to the eCl@ss advanced model.


[edit] Multilinguality

In BMEcat 2005 multilingual catalogs are supported. The content can be defined in any language having a three letter code assigned in ISO 639-2:1998. There are, however, more dimensionsto content than just language. Most prominently there are the place where the language is spoken, e.g. American vs. British English, and the script used, e.g. Serbian having both ћирилица and latinica as script representations. All of these dimensions can be subsumed in the concept locale and the best practices for handling them are described in the IETFs RFC 5646 Tags for Identifying Languages. The BMEcat datatype dtMLSTRING was extended to allow its specification not only by dtLANG (three letter language code) but also by dtLOCALE (code according to RFC 5646).

Example of multilingual content for the same value:

...
<PRODUCT_FEATURES>
...
	<FEATURE>
	...
		<FVALUE locale=“en“>Abricot</FVALUE>	
		<FVALUE locale=“de-AT>Marille</FVALUE>	
		<FVALUE locale=“de-DE>Aprikose</FVALUE>	
		<FVALUE locale=“fr“>Abricot</FVALUE>	
		<FVALUE locale=“zh-Hans“></FVALUE>
		<FVALUE locale=“zh-Latn“>xìngzi</FVALUE>
	</FEATURE>	
</PRODUCT_FEATURES>
...


[edit] products according to advanced model

[edit] tree structure

In the advanced data model, product descriptions are no longer flat but form a tree. To indicate the position of a property node in the valuation tree the FID and FPARENT_ID elements (containing integer index references unique within a product) were introduced within the existing FEATURE element. Moreover the FEATURE element itself is now allowed to occur recursively within other FEATUREs.

Old (BMEcat 2005) definition of FEATURE:

<xsd:element name="FEATURE">
	<xsd:complexType>
		<xsd:sequence>
			<xsd:choice>
				<xsd:element ref="FNAME" maxOccurs="unbounded"/>
				<xsd:element ref="FT_IDREF"/>
				<xsd:element ref="FTEMPLATE"/>
			</xsd:choice>
			<xsd:choice>
				<xsd:choice>
					<xsd:element ref="FVALUE" maxOccurs="unbounded"/>
					<xsd:element ref="VALUE_IDREF" maxOccurs="unbounded"/>
				</xsd:choice>
				<xsd:element ref="VARIANTS"/>
			</xsd:choice>
			<xsd:element ref="FUNIT" minOccurs="0"/>
			<xsd:element ref="FORDER" minOccurs="0"/>
			<xsd:element ref="FDESCR" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="FVALUE_DETAILS" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="FVALUE_TYPE" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
</xsd:element>

New (BMEcat 2005.1-advanced) definition of FEATURE:

<xsd:element name="FEATURE">
	<xsd:complexType>
		<xsd:sequence>
			<xsd:choice>
				<xsd:element ref="FNAME" maxOccurs="unbounded"/>
				<xsd:element ref="FT_IDREF"/>
				<xsd:element ref="FTEMPLATE"/>
			</xsd:choice>
			<xsd:choice>
				<xsd:choice>
					<xsd:element ref="FVALUE" maxOccurs="unbounded"/>
					<xsd:element ref="VALUE_IDREF" maxOccurs="unbounded"/>
				</xsd:choice>
				<xsd:element ref="VARIANTS"/>
			</xsd:choice>
			<xsd:element ref="FUNIT" minOccurs="0"/>
			<xsd:element ref="FORDER" minOccurs="0"/>
			<xsd:element ref="FDESCR" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="FVALUE_DETAILS" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="FVALUE_TYPE" minOccurs="0"/>
			<xsd:element ref="FID" minOccurs="0"/>
			<xsd:element ref="FPARENT_ID" minOccurs="0"/>
			<xsd:element ref="FEATURE" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
</xsd:element>

The patterns of polymorphism and cardinality are expressed within the tree structure as a certain combination of properties and structure. The BMEcat example valuations contain separate examples for both patterns.


[edit] aspect

Aspects contain structures describing a certain view on a product. To allow for direct representation of aspects within BMEcat 2005.1-advanced the element FEATURE_GROUP was added to the element PRODUCT_FEATURES as a container representing the aspect, having an optional preferred name (FEATURE_GROUP_NAME), definition (FEATURE_GROUP_DESCRIPTION) and IRDI (REFERENCE_FEATURE_GROUP_ID).

<xsd:element name="FEATURE_GROUP">
	<xsd:complexType>
		<xsd:sequence>
			<xsd:element ref="FEATURE_GROUP_NAME" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="FEATURE_GROUP_DESCRIPTION" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="REFERENCE_FEATURE_GROUP_ID"/>
			<xsd:element ref="FEATURE" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="featureGroupType" type="dtSTRING"/>
	</xsd:complexType>
</xsd:element>

The BMEcat example valuations contain a separate example for aspect.

Personal tools