michael@0: /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: /* michael@0: michael@0: A catch-all header file for miscellaneous RDF stuff. Currently michael@0: contains error codes and vocabulary macros. michael@0: michael@0: */ michael@0: michael@0: #ifndef rdf_h___ michael@0: #define rdf_h___ michael@0: michael@0: #include "nsError.h" michael@0: michael@0: /** michael@0: * The following macros are to aid in vocabulary definition. They michael@0: * creates const char*'s for "kURI[prefix]_[name]", appropriate michael@0: * complete namespace qualification on the URI, e.g., michael@0: * michael@0: * #define RDF_NAMESPACE_URI "http://www.w3.org/TR/WD-rdf-syntax#" michael@0: * DEFINE_RDF_ELEMENT(RDF_NAMESPACE_URI, RDF, ID); michael@0: * michael@0: * will define: michael@0: * michael@0: * kURIRDF_ID to be "http://www.w3.org/TR/WD-rdf-syntax#ID" michael@0: */ michael@0: michael@0: #define DEFINE_RDF_VOCAB(ns, prefix, name) \ michael@0: static const char kURI##prefix##_##name[] = ns #name michael@0: michael@0: /** michael@0: * Core RDF vocabularies that we use to define semantics michael@0: */ michael@0: michael@0: #define RDF_NAMESPACE_URI "http://www.w3.org/1999/02/22-rdf-syntax-ns#" michael@0: #define WEB_NAMESPACE_URI "http://home.netscape.com/WEB-rdf#" michael@0: #define NC_NAMESPACE_URI "http://home.netscape.com/NC-rdf#" michael@0: #define DEVMO_NAMESPACE_URI_PREFIX "http://developer.mozilla.org/rdf/vocabulary/" michael@0: michael@0: michael@0: /* ContractID prefixes for RDF DLL registration. */ michael@0: #define NS_RDF_CONTRACTID "@mozilla.org/rdf" michael@0: #define NS_RDF_DATASOURCE_CONTRACTID NS_RDF_CONTRACTID "/datasource;1" michael@0: #define NS_RDF_DATASOURCE_CONTRACTID_PREFIX NS_RDF_DATASOURCE_CONTRACTID "?name=" michael@0: #define NS_RDF_RESOURCE_FACTORY_CONTRACTID "@mozilla.org/rdf/resource-factory;1" michael@0: #define NS_RDF_RESOURCE_FACTORY_CONTRACTID_PREFIX NS_RDF_RESOURCE_FACTORY_CONTRACTID "?name=" michael@0: #define NS_RDF_INFER_DATASOURCE_CONTRACTID_PREFIX NS_RDF_CONTRACTID "/infer-datasource;1?engine=" michael@0: michael@0: #define NS_RDF_SERIALIZER NS_RDF_CONTRACTID "/serializer;1?format=" michael@0: michael@0: // contract ID is in the form michael@0: // @mozilla.org/rdf/delegate-factory;1?key=&scheme= michael@0: #define NS_RDF_DELEGATEFACTORY_CONTRACTID "@mozilla.org/rdf/delegate-factory;1" michael@0: #define NS_RDF_DELEGATEFACTORY_CONTRACTID_PREFIX NS_RDF_DELEGATEFACTORY_CONTRACTID "?key=" michael@0: michael@0: /*@}*/ michael@0: michael@0: #endif /* rdf_h___ */