Api Open Icecat
Api Open Icecat
Page 1 of 48
IMPORTANT NOTES
1) In case of Open ICEcat, please check the Open ICEcat sections.
3) By default a daily index file is shown when you only enter the
directory name. This, because it is more efficient for testing and
viewing in a browser. To get the complete index file, include in the
path the full file name of the complete index: files.index.xml (in
Open ICEcat or Full ICEcat).
4.3 REFERENCES............................................................................................................................11
4.3.1 Measures list (units).....................................................................................................13
4.3.2 Features list..................................................................................................................13
4.3.3 Categories list...............................................................................................................13
4.3.4 Suppliers list request (manufacturers).........................................................................14
4.3.5 Category features list request.......................................................................................14
4.3.6 Supplier product families list request...........................................................................15
4.3.7 Languages list...............................................................................................................16
4.3.8 Popularity of products..................................................................................................16
5. PRODUCTS XML DATA FILE............................................................................................16
5.1 REPOSITORY FILE DTD............................................................................................................16
5.2 EXAMPLE PRODUCT XML.........................................................................................................17
6. SQL SET-UP............................................................................................................................27
6.1 EXPLANATION OF ENTITIES.........................................................................................................27
6.2 MYSQL SET-UP (MONOLINGUAL CATALOGUE)............................................................................28
6.3 MS SQL SET-UP (MONOLINGUAL CATALOGUE)..........................................................................35
6.3.1 SET-UP CATEGORY STRUCTURE.................................................................................................35
6.3.2 CREATING TRIGGERS..............................................................................................................47
1. Subject of this document
This document describes the file format used in the ICEcat XML repository. It gives the
basics of how to use the ICEcat repository.
Our mission
It is our mission to provide channel partners and buyer orientation websites with high-
quality product information via our Open Catalog Interface (OCI). More and more
manufacturers work together with ICEcat to take care of their product content; this makes
it possible for us to distribute their product content for free. Here, you can always find the
latest overview of sponsoring (free) brands in Open ICEcat:
http://www.icecat.biz/en/menu/partners/index.htm .
However attractive the free Open ICEcat database is, the Full-ICEcat database still contains
many, many more brands: 2500+ (see
http://www.icecat.biz/en/menu/vendors/index.htm ). If you are interested in subscribing to
the Full-ICEcat database, please contact us via the website.
Open ICEcat repository is the part of the ICEcat XML repository that is sponsored by
manufacturers and is provided for free to the channel. Open ICEcat is distributed under the
Open Content License Agreement: http://www.mytrade.nl/get_attachment.cgi?2567 .
Which brands are included in Open ICEcat? The most recent list can always be found on the
ICEcat.biz site: http://www.icecat.biz/en/menu/partners/index.htm
Open ICEcat is also useful during development and for testing purposes.
Coverage analysis
To decide to make use of ICEcat or Open ICEcat it is important to analyze the coverage of
your portfolio or the portfolio of your supplier. You can always ask us to give you an
overview of the coverage of (stock) portfolio of your suppliers (i.e., distributors) at any
given moment. We strive to cover at least 90% of the stock portfolio (stock > 1) of
mainstream distributors and work together with partners to monitor this coverage daily.
If you want to analyze coverage, you can use this matching file, which is a plain dump of
everything in our catalog:
http://data.icecat.biz/prodid/prodid_d.txt (very large file with all known products in the
ICEcat database, described and standardized or not)
A gzipped version of the matching file can be found here:
http://data.icecat.biz/prodid/prodid_d.txt.gz
Market presence=Y indicates that we notice that the product is currently present in at least
one distributor’s catalog. Quality=ICECAT means that ICEcat editors have standardized the
data-sheet. Quality=SUPPLIER means that the data-sheet is imported from a
manufacturer’s CMS, and may be queued for standardization. Quality=NOEDITOR means
that our editors did not touch and standardized the data; so, it is raw data.
NOTE:
- because we also maintain mappings for manufacturer part numbers (to correct ones), the
actual match on the basis of our xml index files is often 5-10% higher
TIP: discuss with the ICEcat team a service level for your (supplier’s) portfolio.
If you want to upgrade to Full ICEcat: you can contact us via the contact form, click on the
“request Full ICEcat access” link after the User Login
(http://www.icecat.biz/en/menu/openicecat/index.htm), or fill in and fax the Full ICEcat
registration form: http://forum.icecat.biz/forum/catalogue/index.cgi?
tmpl=view_message.html;message_id=3191;thread_id=17 that you can find as an attachment.
You will also find in the attached form (pdf) the standard Full ICEcat tariffs.
2. Directories
2.1 Access
To obtain access to the repository you will need a login/password, provided to you by
ICEcat. If you don’t have these, please request one via the contact form on the ICEcat site:
http://www.icecat.biz/en/menu/contacts/index.htm
For full-ICEcat access a separate contract is needed. You can request this contract form via
[email protected] .
Take care that you have provided us with the right IP addresses of your content servers, as
the access is secured. You can test the login/password combination by entering it by hand
in the BASIC HTTP authorization pop-up screen, which appears automatically when the
directory URL is entered. In this case, we need to have added the IP address of your
workplace as well to your profile. If you don’t know this IP address, just type in your
browsers http://www.whatismyip.com/ and email the given address to us.
Of course, for professional use, server access need to be set up. In case of little experience
in this field, we advise you to make use of the URL versions (links to pictures and
datasheets) or ask us for assistance.
Where:
prod_id = the manufacturer part number of the requested product,
vendor_name = name of the manufacturer of the requested product,
lng = the language code (INT – for the international/standardized repository, EN, NL, FR… -
for local ones)
out_type = the type of the response. It can be productxml (the product xml file) and
metaxml (the index or meta information on the Brand + ProdID/M_Prod_ID or EAN/UPC)
For example, if you need to get an xml file of product ‘Compaq 6710b Base Model Notebook
PC’. Manufactured by HP, with part number RJ459AV, in English:, the call will be:
http://data.icecat.biz/xml_s3/xml_server3.cgi?
prod_id=RJ459AV;vendor=hp;lang=en;output=productxml
XML Server 3 access works via the basic HTTP authorization, also used for other HTTP
requests.
TIP: The standardized files are adviced for searching & comparing.
Please, note, where QUALITY=SUPPLIER only the original product data as imported from a
manufacturer’s CMS is available, the respective data-sheet is not yet standardized by our
editors. When it is standardized the parameter is changed to QUALITY=ICECAT.
TIP: We advise the language-specific product content purely for the display of product
data-sheets, not for search & compare. For that, we advise the standardized product
content in the /INT directory.
TIP: Open ICEcat is also useful for testing purposes before you upgrade to Full ICEcat. The
technical structures are 100% compatible with Full ICEcat
For the Full ICEcat subscribers, a separate directory structure is in place. The standardized
files are located at:
http://data.icecat.biz/export/level4/INT
TIP: The standardized files are advised for searching & comparing.
Please, note, where QUALITY=SUPPLIER only the original product data as imported from a
manufacturer’s CMS is available, the respective data-sheet is not yet standardized by our
editors. When it is standardized the parameter is changed to QUALITY=ICECAT.
Examples:
http://data.icecat.biz/export/level4/EN
http://data.icecat.biz/export/level4/NL
http://data.icecat.biz/export/level4/FR
http://data.icecat.biz/export/level4/DE
http://data.icecat.biz/export/level4/IT
http://data.icecat.biz/export/level4/SP
http://data.icecat.biz/export/level4/DK
http://data.icecat.biz/export/level4/SE
http://data.icecat.biz/export/level4/RU
http://data.icecat.biz/export/level4/CZ
http://data.icecat.biz/export/level4/CN
http://data.icecat.biz/export/level4/FI
http://data.icecat.biz/export/level4/PL
http://data.icecat.biz/export/level4/BG
http://data.icecat.biz/export/level4/TR
etc
In general, we intend to follow the ISO 639-1 two character code.
In general we follow the language codes as given by the ISO 639-1 standard. See
http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes . However, in some cases, we will
choose for the two character country codes when for the “country-specific dialect” there is
no language code given (e.g., BR for Brasilian-Portuguese, or US for US English).
In total we support now more than 20 languages. If you feel that your language or the
language that you need is missing, feel free to contact us. Probably we can work something
out.
About mod_deflate:
mod_deflate transports our interface files as compressed gzip data, but will show it
transparantly in its original format in modern browsers.
To benefit in your server scripts from gzip, you must use in any HTTP request this additional
parameter:
Accept-Encoding: gzip
Example:
GET /export/level4/INT/10.xml HTTP/1.1
Host: prf.icecat.biz
Accept-Encoding: gzip
User-Agent: Firefox/1.0
Here is example code in C# to download files (it can be used also in ASP.NET code). It is
tested and works ok:
3.1 Purpose
The purpose of the index files is to find the right ICEcat number and thus product xml files
for a given product. The “key” is always Brand + Manufacturer Part Number.
New: We add also EAN / UPC codes as unique identifiers. Plus an indicator if a product is on
the market still or obsolete.
Similarly the index file with changed or new product references is found at
http://data.icecat.biz/export/level4/INT/daily.index.xml
or per language code: http://data.icecat.biz/export/level4/[code]/daily.index.xml ,
where [code] stands e.g. for NL, EN, FR, GE, IT, SP, DK, RU, ES, SE, ...
or in case of Open ICEcat the complete index file can be found here:
http://data.icecat.biz/export/freexml/files.index.xml
or http://data.icecat.biz/export/freexml.int/[code]/files.index.xml, where [code]
stands e.g. for NL, EN, FR, GE, IT, SP, DK, RU, ES, SE, ...
Similarly the index file with changed or new product references is found at
http://data.icecat.biz/export/freexml/daily.index.xml
or per language code: http://data.icecat.biz/freexml.int/[code]/daily.index.xml ,
where [code] stands e.g. for NL, EN, FR, GE, IT, SP, DK, RU, ES, SE, ...
It includes the index information for each product and gives the path to the xml product file.
Below is an example of a file tag in the index file:
The new tag On_Market indicates that a product is still on the market (On_Market=“1”) or
not seen on the market anymore (On_Market=“0”). Per product also the EAN or UPC codes
that are used for logistical purposes are given. It is possible that there are multiple EANs or
UPCs, because depending on packaging or importers different codes are given. Further, the
part number variants that are used in the market are given in a sub list (M_Prod_ID).
files.index.xml and daily.index.xml are refreshed every day by us. You can use
daily.index.xml to update only the data in your local database that has changed or is new in
the ICEcat database. Files.index.xml, you can use the first time for a full import of needed
product information, and for the regular analysis of coverage of your product database.
TIP 1: download ONLY the xml files that you actually need for your shop or application by
using the daily export from your ERP or shop (or actually the daily imports from your
distributor/suppliers) as a filter. It is useless to import all the EMEA/Worldwide data files, if
you only operate in one geographic area or have an assortmet limited to a certain category.
TIP 2: check the timestamps to only download files that have changed or check only for
new files, to improve update performance cycles.
Each product has its own data file in xml format. Its location is defined by the attribute
“path” in the *.index.xml. The file content includes all the available product information for
the respective product.
The "Prod_ID" attribute is a manufacturer’s unique identifier for a product, often called
Manufacturer Part Number (code de fabricant, Produkt-Kode, artikelnummer, etc). In
combination with the "supplier_id" it is the unique key to select a product’s XML file via
ICEcat’s internal identifier ("Product_id").
Catid is ICEcat’s internal category identifier. Catid=”151” referes to Notebooks. For every
category there is a second, external, category identifier based on UNSPSC. In the reference
files or the product xml the meaning of categories can be found.
Value Explanation
SUPPLIER The content is received from a supplier CMS, but not standardized by an
ICEcat editor. The language-specific directories are likely to contain the full
(unstandardized) data-sheet.
ICECAT The content is entered or standardized by ICECAT editors. The standardized
data can be found in the INT directory and the language-specific directories.
NOEDITOR The content is received from a merchant (in most cases one of the 100s of
distributors we are daily “polling”) and may be parsed. Editors haven’t
described this product yet. The NOEDITOR data is not exported in XML to 3rd
parties.
4. Additional data
supplier_mapping.xml
Within this file you’ll find the match between different manufacturer names variations and
the original manufacturer name.
The format is self explanatory. The DTD for the message format is is available at:
http://data.icecat.biz/dtd/ICECAT-supplier_mapping.dtd
To help you correct the MPNs from different distributors and to help you to get the best
coverage, we are publishing the available MPN mappings to the official MPN.
In every repository directory, the file with product mappings is published in the index files
(files.index.xml etc).
4.3 References
In product XML feeds, you will find a lot of structures, which are included as references in
the product data files, e.g. categories, features, measures (units) etc.
The reference files can be found in the /refs/ subdirectory. For example, for Full ICEcat, in
http://data.icecat.biz/export/level4/refs/
All files are present in Gzipped format. Typical use of the files is in combination with data
from the INT (international) directory, not the localized directories as there the language-
specific values are already automatically applied to the product XML files.
Note: the single file with all references, refs.xml, is actually replaced by the above-
mentioned firectory, as the refs.xml file became too big to handle easily.
Example:
Category "software" has sid=4 & tid=1. To get the German software description use tid=1 &
langid=4 to access the tex table with multilingual descriptions. For the French software
name use sid=4 & langid=3.
Below a part of the data model is visualized, showing the relationshops between categories
and the vocabulary and the descriptions (tex entity).
4.3.1 Measures list (units)
Example:
<MeasuresList>
<Measure ID="20">
<Sign>GB</Sign>
<Names>
<Name ID="1297" langid="1">Gigabyte</Name>
<Name ID="1298" langid="2">Gigabyte</Name>
</Names>
<Descriptions>
<Description ID="60" langid="2">Opslag- of geheugencapaciteit in GB (miljard
bytes; 1 byte = 1 character)</Description>
<Description ID="59" langid="1">Storage or memory capacity in GB (billion bytes; 1
byte = 1 character)</Description>
</Descriptions>
</Measure>
…………
</MeasuresList>
Example:
<FeaturesList>
<Feature ID="10">
<Measure ID="21">
<Sign>x</Sign>
</Measure>
<Names>
<Name ID="1307" langid="1">CD-ROM player</Name>
<Name ID="1308" langid="2">CD-ROM-speler</Name>
</Names>
<Descriptions>
<Description ID="70" langid="2">Indien aanwezig, snelheid van de CD-ROM-
speler</Description>
<Description ID="69" langid="1">If present, speed of the CD-ROM
player</Description>
</Descriptions>
</Feature>
…………
</FeaturesList>
This chunk provides the information on categories which are used in the ICEcat environment
and for product categorization. Each category may be either searchable or not. Searchable
categories may be used for product lookup by product feature values, as ICEcat editors are
systematically maintain data integrity to allow smart searches.
Value Explanation
1 This category may be used for product lookup in product list lookup request
0 This category is not made searchable (in our own product finder tools)
"Score" attribute in the response reflects the category usage statistic. The higher number
means the higher usage level
Example:
<CategoriesList>
<Category ID="910" UNCATID="25173107"
ThumbPic="http://data.icecat.biz/thumbs/CAT910.jpg" Searchable="1"
Score="0" LowPic="http://data.icecat.biz/img/low_pic/910-2693.jpg">
<ParentCategory ID="138">
<Names>
<Name ID="278" langid="2">telecommunicatie-apparatuur</Name>
</Names>
</ParentCategory>
<Keywords ID="1288" Value="GPS, navigatiesystemen, global, positioning,
systems" langid="2"/>
<Name ID="5418" Value="GPS navigatiesystemen" langid="2"/>
<Description ID="1946" Value="global positioning systems" langid="2"/>
</Category>
</CategoriesList>
Example:
<SuppliersList>
<Supplier Name="Hitachi" ID="169"/>
<Supplier Name="Lexmark" ID="20"/>
<Supplier Name="Xerox" ID="30"/>
…………
</SuppliersList>
This chunk provides information about features which are assigned to a every certain
category and which are used for describing products in the category.
Each searchable feature will have LimitDirection attribute defined, which will give an advice
for finding a “better” feature value, either ≤ or ≥. E.g. for feature “Hard disk capacity” it
would be ≥.relation, and for the feature “Write seek” it would be ≤ relation.
Value Explanation
0 The relation is undefined
1 The relation is ≤
2 The relation is ≥.
3 The relation is =
Value Explanation
0 Key feature
1 Extra feature – tech details
Possible feature values may be restricted to a limited set of value. In that case possible
values for combination Category-Feature are listed into container RestritedValue.
Example:
<CategoryFeaturesList Code="1">
<Category UNCATID="43171801" ID="151" LowPic="">
<Name ID="303" Value="Notebooks" langid="1"/>
<Name ID="304" Value="Notebooks" langid="2"/>
<Feature LimitDirection="0" Searchable="0" CategoryFeatureGroup_ID="36"
ID="990" No="93" Class="1">
<Name ID="3521" Value="Interface type" langid="1"/>
<Name ID="3522" Value="Interfacetype" langid="2"/>
<Measure Sign="" ID="29"/>
</Feature>
<Feature LimitDirection="0" Searchable="0" CategoryFeatureGroup_ID="36"
ID="991" No="94" Class="1">
<Name ID="3523" Value="Number of interfaces type" langid="1"/>
<Name ID="3524" Value="Aantal interface-types" langid="2"/>
<Measure Sign="" ID="29"/>
</Feature>
<Feature LimitDirection="2" Searchable="1" CategoryFeatureGroup_ID="107"
ID="430" No="10000015" Class="1">
<Name ID="2227" Value="Hard disk rotational speed" langid="1"/>
<Name ID="2228" Value="Harde schijf rotatiesnelheid" langid="2"/>
<Measure Sign="RPM" ID="28"/>
<RestrictedValue>1000</RestrictedValue>
<RestrictedValue>4200</RestrictedValue>
<RestrictedValue>5400</RestrictedValue>
<RestrictedValue>7200</RestrictedValue>
<RestrictedValue>10000</RestrictedValue>
<RestrictedValue>15000</RestrictedValue>
</Feature>
……………………………
<CategoryFeatureGroup No="0" ID="109">
<FeatureGroup ID="27">
<Name Value="Energy management" ID="5049" langid="1"/>
<Name Value="Energiebeheer" ID="5050" langid="2"/>
</FeatureGroup>
</CategoryFeatureGroup>
<CategoryFeatureGroup No="2" ID="762">
<FeatureGroup ID="31">
<Name Value="Keyboard" ID="5075" langid="1"/>
<Name Value="Toetsenbord" ID="5076" langid="2"/>
</FeatureGroup>
</CategoryFeatureGroup>
…………………………
</Category>
</CategoryFeaturesList>
This chunk provides the list of supplier product families. Each product family may have
information about it’s Name, Description in different languages, and category.
<SupplierProductFamiliesList>
<ProductFamily Category_ID="132" ID="16">
<Supplier ID="6" Name="3com"/>
<Description ID="6811" Value="" langid="1"/>
<Description ID="6813" Value="" langid="2"/>
<Name ID="9524" Value="test2 e" langid="1"/>
<Name ID="9526" Value="test3 d" langid="2"/>
<ParentProductFamily ID="11"/>
</ProductFamily>
<ProductFamily Category_ID="132" ID="15">
<Supplier ID="6" Name="3com"/>
<Description ID="6808" Value="" langid="1"/>
<Description ID="6810" Value="" langid="2"/>
<Name ID="9521" Value="eee" langid="1"/>
<Name ID="9523" Value="ddd" langid="2"/>
<ParentProductFamily ID="11"/>
</ProductFamily>
<ProductFamily ID="14" ThumbPic="http://bla.bla/img/bla.gif" Category_ID="132"
LowPic="http://bla.bla/img/bla.gif">
<Supplier ID="6" Name="3com"/>
<Name ID="9518" Value="test e" langid="1"/>
<Name ID="9520" Value="test d" langid="2"/>
<Description ID="6805" Value="descr e" langid="1"/>
<Description ID="6807" Value="descr n" langid="2"/>
<ParentProductFamily ID="11"/>
</ProductFamily>
</SupplierProductFamiliesList>
Example:
<Language ID="6" Code="spanish" ShortCode="SP" Sid="4797">
<Name ID="14094" Value="Spanish" langid="1"/>
<Name ID="14095" Value="Spanish" langid="2"/>
<Name ID="14096" Value="Spanish" langid="3"/>
<Name ID="18228" Value="Spanish" langid="4"/>
<Name ID="22360" Value="Spanish" langid="5"/>
<Name ID="26492" Value="Spanish" langid="6"/>
</Language>
All ICEcat product requests (real-time requests by end-users and xml requests) are logged.
This data gives a product popularity indication which can be used to sort products and to
analyze trends as input for marketing decisions. This popularity data is daily published on:
data.icecat.biz/export/level4/data_prod_stat.xml
http://data.icecat.biz/dtd/ICECAT-interface_response.dtd
Please, note that the tag “No=”(example: No="100090") is a Priority indicator. The higher
the number the more important the feature or feature group is considered to be for buyer
orientation. We advise you to sort features and feature groups by priority, to get a more
customer friendly user presentation.
Product code is a deprecated field, eariler it used as product response status. Now, product
code always equals 1.
6. SQL set-up
Category = table that holds the category structure informations. category names are in
‘vocabulary’, referenced via ‘sid’ key
Category feature Group = a group that holds few category features, grouped
Feature = holds the information about the features available for product description
Language
Product bundled = in case of product is a distri bundle info about components is here
Product feature = product specs features are here. resolution of features/measures is via - >
category_feature->feature->measure
Product multimedia object = place for storing multimedia data, like swf, animated gifs, etc
Product related product corss-relations are stored here. type of link can be determenined by
categories. e.g. categories are the same = > link is “alternatives”. Categories are different => link
is “option”.
Sid index = table for holding the autoincrement index for vocabulary. needed only in case of
issuing new records for vocabulary
--
-- Table structure for table 'account'
--
--
-- Table structure for table 'category'
--
--
-- table that holds the category structure informations
-- category names are in ‘vocabulary’, referenced via ‘sid’ key
--
--
-- Table structure for table 'category_feature'
-- link between feature and category
--
-- Table structure for table 'category_feature_group'
-- a group that holds few category features, grouped
--
-- Table structure for table 'category_keywords'
-- category keywords that can be used for a search
--
-- Table structure for table 'feature'
-- holds the information about the features available for product description
--
--
-- Table structure for table 'feature_group'
-- a generic features groups available in system
--
-- Table structure for table 'language'
--
--
-- Table structure for table 'measure'
-- units, e.g. meter, megabyte etc
--
--
-- Table structure for table 'product'
-- main information about the product
--
-- Table structure for table 'product_bundled'
-- in case of product is a distri bundle info about components is here
--
--
-- Table structure for table 'product_description'
-- language specific description
--
--
-- Table structure for table 'product_family'
-- product lines families per supplier
--
--
-- Table structure for table 'product_feature'
-- product specs features are here
-- resolution of features/measures is via -> category_feature->feature-
>measure
CREATE TABLE product_feature (
product_feature_id int(13) NOT NULL auto_increment,
product_id int(13) NOT NULL default '0',
category_feature_id int(13) NOT NULL default '0',
`value` text,
updated timestamp NOT NULL default CURRENT_TIMESTAMP on update
CURRENT_TIMESTAMP,
PRIMARY KEY (product_feature_id),
UNIQUE KEY product_id (product_id,category_feature_id),
KEY category_feature_id (category_feature_id),
KEY product_id_3 (product_id,updated)
);
--
-- Table structure for table 'product_gallery'
-- product gallery – some more product images
--
-- Table structure for table 'product_multimedia_object'
-- place for storing multimedia data, like swf, animated gifs, etc.
--
--
-- Table structure for table 'product_related'
-- product corss-relations are stored here
-- type of link can be determenined by categories
-- e.g. categories are the same => link is “alternatives”
-- categories are different => link is “option”
--
--
-- Table structure for table 'sid_index'
-- table for holding the autoincrement index for vocabulary
-- needed only in case of issuing new records for vocabulary
--
-- Table structure for table 'supplier'
-- manufacturers are stored in this table
--
--
-- Table structure for table 'tex'
-- vocabulary for a large data
--
-- Table structure for table 'tid_index'
-- index of tex table
--
-- Table structure for table 'vocabulary'
-- table for storing misc language dependent data
--
--
-- Table structure for table 'category_feature'
-- link between feature and category
--
-- Table structure for table 'category_feature_group'
-- a group that holds few category features, grouped
--
-- Table structure for table 'product_gallery'
-- product gallery – some more product images
IF EXISTS (SELECT * FROM sysobjects WHERE type = 'U' AND name =
'product_gallery')
BEGIN
DROP Table product_gallery
END
--
-- Table structure for table 'tid_index'
-- index of tex table
IF EXISTS (SELECT * FROM sysobjects WHERE type = 'U' AND name =
'tid_index')
BEGIN
DROP Table tid_index
END
--
-- Table structure for table 'vocabulary'
-- table for storing misc language dependent data
--
IF EXISTS (SELECT * FROM sysobjects WHERE type = 'U' AND name =
'vocabulary')
BEGIN
DROP Table vocabulary
END
CREATE TABLE vocabulary (
record_id int NOT NULL primary key on secondary identity(1,1),
sid int NOT NULL default 0,
langid int NOT NULL default 0,
[value] varchar(255) default NULL
-- PRIMARY KEY (record_id),
-- KEY sid (sid),
-- KEY langid (langid),
-- KEY langid_2 (langid,sid)
)