00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 #ifndef XMLRESOURCEIDENTIFIER_HPP
00022 #define XMLRESOURCEIDENTIFIER_HPP
00023 
00024 XERCES_CPP_NAMESPACE_BEGIN
00025 
00026 class Locator;
00027 
00094 class  XMLResourceIdentifier
00095 {
00096 public:
00097 
00100     enum ResourceIdentifierType {
00101         SchemaGrammar = 0,
00102         SchemaImport,
00103         SchemaInclude,
00104         SchemaRedefine ,
00105         ExternalEntity,
00106         UnKnown = 255    
00107     };
00109    
00114     XMLResourceIdentifier(const ResourceIdentifierType resourceIdentitiferType
00115                             , const XMLCh* const  systemId
00116                             , const XMLCh* const  nameSpace = 0
00117                             , const XMLCh* const  publicId = 0
00118                             , const XMLCh* const  baseURI = 0
00119                             , const Locator*      locator = 0);
00120 
00122     ~XMLResourceIdentifier()
00123     {
00124     }
00125 
00127 
00128     
00129     
00130     
00133     ResourceIdentifierType getResourceIdentifierType() const;
00134     const XMLCh* getPublicId()          const;
00135     const XMLCh* getSystemId()          const;
00136     const XMLCh* getSchemaLocation()    const;
00137     const XMLCh* getBaseURI()           const;
00138     const XMLCh* getNameSpace()         const;
00139     const Locator* getLocator()         const;
00141 
00142 private :
00143 
00144     const ResourceIdentifierType    fResourceIdentifierType;
00145     const XMLCh*                    fPublicId;
00146     const XMLCh*                    fSystemId;
00147     const XMLCh*                    fBaseURI;
00148     const XMLCh*                    fNameSpace;
00149     const Locator*                  fLocator;
00150 
00151     
00152 
00153     
00154     XMLResourceIdentifier(const XMLResourceIdentifier&);
00155 
00156     
00157     XMLResourceIdentifier& operator=(const XMLResourceIdentifier&);
00158 
00159 };
00160 
00161 inline XMLResourceIdentifier::ResourceIdentifierType XMLResourceIdentifier::getResourceIdentifierType() const 
00162 {
00163     return fResourceIdentifierType;
00164 }
00165 
00166 inline const XMLCh* XMLResourceIdentifier::getPublicId() const
00167 {
00168     return fPublicId;
00169 }
00170 
00171 inline const XMLCh* XMLResourceIdentifier::getSystemId() const
00172 {
00173     return fSystemId;
00174 }
00175 
00176 inline const XMLCh* XMLResourceIdentifier::getSchemaLocation() const
00177 {
00178     return fSystemId;
00179 }
00180 
00181 inline const XMLCh* XMLResourceIdentifier::getBaseURI() const
00182 {
00183     return fBaseURI;
00184 }
00185 
00186 inline const XMLCh* XMLResourceIdentifier::getNameSpace() const
00187 {
00188     return fNameSpace;
00189 }
00190 
00191 inline const Locator* XMLResourceIdentifier::getLocator() const
00192 {
00193     return fLocator;
00194 }
00195 
00196 inline XMLResourceIdentifier::XMLResourceIdentifier(const ResourceIdentifierType resourceIdentifierType
00197                             , const XMLCh* const  systemId
00198                             , const XMLCh* const  nameSpace
00199                             , const XMLCh* const  publicId
00200                             , const XMLCh* const  baseURI
00201                             , const Locator*      locator )
00202     : fResourceIdentifierType(resourceIdentifierType)
00203     , fPublicId(publicId)
00204     , fSystemId(systemId)
00205     , fBaseURI(baseURI)     
00206     , fNameSpace(nameSpace)
00207     , fLocator(locator)
00208 {
00209 }
00210 
00211 XERCES_CPP_NAMESPACE_END
00212 
00213 #endif