|
||||
File indexing completed on 2025-01-18 10:14:52
0001 /* 0002 * Licensed to the Apache Software Foundation (ASF) under one or more 0003 * contributor license agreements. See the NOTICE file distributed with 0004 * this work for additional information regarding copyright ownership. 0005 * The ASF licenses this file to You under the Apache License, Version 2.0 0006 * (the "License"); you may not use this file except in compliance with 0007 * the License. You may obtain a copy of the License at 0008 * 0009 * http://www.apache.org/licenses/LICENSE-2.0 0010 * 0011 * Unless required by applicable law or agreed to in writing, software 0012 * distributed under the License is distributed on an "AS IS" BASIS, 0013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 0014 * See the License for the specific language governing permissions and 0015 * limitations under the License. 0016 */ 0017 0018 /* 0019 * $Id$ 0020 */ 0021 0022 #if !defined(XERCESC_INCLUDE_GUARD_XSNOTATIONDECLARATION_HPP) 0023 #define XERCESC_INCLUDE_GUARD_XSNOTATIONDECLARATION_HPP 0024 0025 #include <xercesc/framework/psvi/XSObject.hpp> 0026 0027 XERCES_CPP_NAMESPACE_BEGIN 0028 0029 /** 0030 * This class describes all properties of a Schema Notation Declaration 0031 * component. 0032 * This is *always* owned by the validator /parser object from which 0033 * it is obtained. 0034 */ 0035 0036 // forward declarations 0037 class XSAnnotation; 0038 class XMLNotationDecl; 0039 0040 class XMLPARSER_EXPORT XSNotationDeclaration : public XSObject 0041 { 0042 public: 0043 0044 // Constructors and Destructor 0045 // ----------------------------------------------------------------------- 0046 /** @name Constructors */ 0047 //@{ 0048 0049 /** 0050 * The default constructor 0051 * 0052 * @param xmlNotationDecl 0053 * @param annot 0054 * @param xsModel 0055 * @param manager The configurable memory manager 0056 */ 0057 XSNotationDeclaration 0058 ( 0059 XMLNotationDecl* const xmlNotationDecl 0060 , XSAnnotation* const annot 0061 , XSModel* const xsModel 0062 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager 0063 ); 0064 0065 //@}; 0066 0067 /** @name Destructor */ 0068 //@{ 0069 ~XSNotationDeclaration(); 0070 //@} 0071 0072 //--------------------- 0073 /** @name overridden XSXSObject methods */ 0074 0075 //@{ 0076 0077 /** 0078 * The name of type <code>NCName</code> of this declaration as defined in 0079 * XML Namespaces. 0080 */ 0081 const XMLCh* getName() const; 0082 0083 /** 0084 * The [target namespace] of this object, or <code>null</code> if it is 0085 * unspecified. 0086 */ 0087 const XMLCh* getNamespace() const; 0088 0089 /** 0090 * A namespace schema information item corresponding to the target 0091 * namespace of the component, if it's globally declared; or null 0092 * otherwise. 0093 */ 0094 XSNamespaceItem *getNamespaceItem(); 0095 0096 //@} 0097 0098 //--------------------- 0099 /** @name XSNotationDeclaration methods */ 0100 0101 //@{ 0102 0103 /** 0104 * The URI reference representing the system identifier for the notation 0105 * declaration, if present, <code>null</code> otherwise. 0106 */ 0107 const XMLCh *getSystemId(); 0108 0109 /** 0110 * The string representing the public identifier for this notation 0111 * declaration, if present; <code>null</code> otherwise. 0112 */ 0113 const XMLCh *getPublicId(); 0114 0115 /** 0116 * Optional. An [annotation]. 0117 */ 0118 XSAnnotation *getAnnotation() const; 0119 0120 //@} 0121 0122 //---------------------------------- 0123 /** methods needed by implementation */ 0124 0125 //@{ 0126 0127 //@} 0128 private: 0129 0130 // ----------------------------------------------------------------------- 0131 // Unimplemented constructors and operators 0132 // ----------------------------------------------------------------------- 0133 XSNotationDeclaration(const XSNotationDeclaration&); 0134 XSNotationDeclaration & operator=(const XSNotationDeclaration &); 0135 0136 protected: 0137 0138 // ----------------------------------------------------------------------- 0139 // data members 0140 // ----------------------------------------------------------------------- 0141 XMLNotationDecl* fXMLNotationDecl; 0142 XSAnnotation* fAnnotation; 0143 }; 0144 0145 inline XSAnnotation* XSNotationDeclaration::getAnnotation() const 0146 { 0147 return fAnnotation; 0148 } 0149 0150 0151 0152 XERCES_CPP_NAMESPACE_END 0153 0154 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |