ExternalId.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
// Copyright (c) 1994 James Clark
// See the file COPYING for copying permission.
#pragma ident "%Z%%M% %I% %E% SMI"
#ifndef ExternalId_INCLUDED
#define ExternalId_INCLUDED 1
#ifdef __GNUG__
#pragma interface
#endif
#include "Boolean.h"
#include "StringC.h"
#include "Text.h"
#include "types.h"
#include "Message.h"
#ifdef SP_NAMESPACE
#endif
enum TextClass {
DTD,
LPD,
SD,
};
enum OwnerType {
ISO,
};
PublicId();
// If it's not a valid formal public identifier, return 0
// and set error, otherwise return 1.
// charset describes the character set to use for parsing the
// id.
const MessageType1 *&error);
const Char *&fieldStart,
TextClass &);
static const char *const textClasses[];
};
ExternalId();
const StringC *systemIdString() const;
const StringC *publicIdString() const;
const StringC &effectiveSystemId() const;
const Text *systemIdText() const;
const Text *publicIdText() const;
void setEffectiveSystem(StringC &);
// If it's not a valid formal public identifier, return 0
// and set error, otherwise return 1.
// charset describes the character set to use for parsing the
// id.
const MessageType1 *&error);
void setLocation(const Location &);
// location of keyword
};
inline
{
}
inline
{
return text_;
}
inline
{
}
inline
{
}
inline
{
return haveSystem_ ? &system_ : 0;
}
inline
{
}
inline
{
return havePublic_ ? &public_ : 0;
}
inline
{
return loc_;
}
inline
{
return effectiveSystem_;
}
inline
{
}
#ifdef SP_NAMESPACE
}
#endif
#endif /* not ExternalId_INCLUDED */