From ab70e93552a220279e5f34f715a9da1e28373188 Mon Sep 17 00:00:00 2001 From: cantor Date: Wed, 7 Nov 2007 20:58:51 +0000 Subject: [PATCH] Macros to declare static QNames. git-svn-id: https://svn.middleware.georgetown.edu/cpp-xmltooling/trunk@416 de75baf8-a10c-0410-a50a-987c0e22f00f --- xmltooling/base.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/xmltooling/base.h b/xmltooling/base.h index 3a7fe84..d1c3d23 100644 --- a/xmltooling/base.h +++ b/xmltooling/base.h @@ -349,6 +349,42 @@ #define END_XMLOBJECT } /** + * Declares a static variable holding the XMLObject's element QName. + */ +#define DECL_ELEMENT_QNAME \ + public: \ + XMLTOOLING_DOXYGEN(Element QName) \ + static xmltooling::QName ELEMENT_QNAME + +/** + * Declares a static variable holding the XMLObject's schema type QName. + */ +#define DECL_TYPE_QNAME \ + public: \ + XMLTOOLING_DOXYGEN(Type QName) \ + static xmltooling::QName TYPE_QNAME + +/** + * Implements a static variable holding an XMLObject's element QName. + * + * @param cname the name of the XMLObject specialization + * @param namespaceURI the XML namespace of the default associated element + * @param namespacePrefix the XML namespace prefix of the default associated element + */ +#define IMPL_ELEMENT_QNAME(cname,namespaceURI,namespacePrefix) \ + xmltooling::QName cname::ELEMENT_QNAME(namespaceURI,cname::LOCAL_NAME,namespacePrefix) + +/** + * Implements a static variable holding an XMLObject's schema type QName. + * + * @param cname the name of the XMLObject specialization + * @param namespaceURI the XML namespace of the default associated element + * @param namespacePrefix the XML namespace prefix of the default associated element + */ +#define IMPL_TYPE_QNAME(cname,namespaceURI,namespacePrefix) \ + xmltooling::QName cname::TYPE_QNAME(namespaceURI,cname::TYPE_NAME,namespacePrefix) + +/** * Declares abstract set method for a typed XML attribute. * The get method is omitted. * -- 2.1.4