InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IXCatHndEntityMapping Class Referenceabstract

#include <IXCatHndEntityMapping.h>

Inheritance diagram for IXCatHndEntityMapping:
IPMUnknownCPMUnknown< IXCatHndEntityMapping >XCatHndEntityMapping

Public Types

enum  { kDefaultIID = IID_IXCATHNDENTITYMAPPING }
 

Public Member Functions

virtual void AddMapping (const WideString &publicID, const WideString &systemID)=0
 
virtual WideString GetUri (const WideString &publicID) const =0
 
virtual int32 GetMapSize () const =0
 
virtual WideString GetNthPublicIdentifier (int32 index) const =0
 
virtual void Copy (const IXCatHndEntityMapping *srcMapping)=0
 
virtual int32 GetXMLBaseCount () const =0
 
virtual WideString GetNthXMLBase (int32 n) const =0
 
virtual void AddXMLBase (const WideString &xmlBase)=0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

Stores information needed to map PUBLIC identifiers to URIs.

Stores entity mapping and related information (list of xml:base values) persistently.

We store not only individual PUBLIC to URI mappings, but we store a list of xml:base values. We use xml:base value to specify a path in the local file system where resources related to a particular document type can be found. We can store multiple of these, since we might have resources for different XML vocabularies in different places.

XML Base is a W3C TR: see http://www.w3.org/TR/xmlbase/ that is used in the XML Catalogs: see http://www.oasis-open.org/committees/entity/spec-2001-08-06.html

We're using xml:base here as paths in local file system in platform format, and not worrying too much about having conforming URLs (file:/// etc)

Member Function Documentation

virtual void IXCatHndEntityMapping::AddMapping (const WideStringpublicID,
const WideStringsystemID 
)
pure virtual

Add an associative mapping between PUBLIC ID and a SYSTEM ID

Parameters
publicID
systemID

Implemented in XCatHndEntityMapping.

virtual void IXCatHndEntityMapping::AddXMLBase (const WideStringxmlBase)
pure virtual

Add another xml:base to the list stored

Implemented in XCatHndEntityMapping.

virtual void IXCatHndEntityMapping::Copy (const IXCatHndEntityMappingsrcMapping)
pure virtual

Copy one map to this

Parameters
srcMapping

Implemented in XCatHndEntityMapping.

virtual int32 IXCatHndEntityMapping::GetMapSize () const
pure virtual

Count of entries in PUBLIC/URI map

Parameters
none
Returns
int32

Implemented in XCatHndEntityMapping.

virtual WideString IXCatHndEntityMapping::GetNthPublicIdentifier (int32 index) const
pure virtual

Get PUBLIC identifier (key) by index

Parameters
index
Returns
WideString

Implemented in XCatHndEntityMapping.

virtual WideString IXCatHndEntityMapping::GetNthXMLBase (int32 n) const
pure virtual

Get the nth xml:base we found in our catalog

Implemented in XCatHndEntityMapping.

virtual WideString IXCatHndEntityMapping::GetUri (const WideStringpublicID) const
pure virtual

Retrieve a URI pointing to local system for given PUBLIC identifier

Parameters
publicID
Returns
WideString

Implemented in XCatHndEntityMapping.

virtual int32 IXCatHndEntityMapping::GetXMLBaseCount () const
pure virtual

Get size of the list of xml:base paths stored

Implemented in XCatHndEntityMapping.