LinkProcess.cxx revision 7c478bd95313f5f23a4c958a745db2134aa03244
// Copyright (c) 1994 James Clark
// See the file COPYING for copying permission.
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __GNUG__
#pragma implementation
#endif
#include "splib.h"
#include "LinkProcess.h"
// ParserState is used for access to parser messages
#include "ParserState.h"
#include "MessageArg.h"
#include "ParserMessages.h"
#ifdef SP_NAMESPACE
namespace SP_NAMESPACE {
#endif
{
}
{
}
const AttributeList &attributes,
const AttributeList *&linkAttributes,
const ResultElementSpec *&resultElementSpec)
{
linkAttributes = 0;
resultElementSpec = 0;
return 1;
}
if (id) {
if (p) {
if (p->nLinkRules() > 1) {
selected))
return 0;
}
else
selected = 0;
rule));
StringMessageArg(*id));
}
return 1;
}
}
if (nRules > 0) {
if (nRules > 1) {
selected))
return 0;
}
else
selected = 0;
rule));
return 1;
}
// FIXME construct attributes from attribute definition list
linkAttributes = 0;
resultElementSpec = 0;
return 1;
}
void LinkProcess::endElement()
{
return;
else if (top->postRestore)
delete top;
}
{
return;
return;
if (restore)
else if (linkSet)
}
{
return 0;
}
{
}
// Usually redefined by application.
const Location &,
{
selected = 0;
return 1;
}
void LinkProcess::clear()
{
}
{
}
const SourceLinkRule &rule)
{
if (!current)
}
{
post = 0;
postRestore = 0;
}
#ifdef SP_NAMESPACE
}
#endif