,
"UseSubnamespaces");
83!
i->second.IsEmbedded() && !
i->second.GetName().empty();
91!j->second.IsEmbedded();
94 i->second.GetNamespaceName() != j->second.GetNamespaceName()) {
95clashes[
i->second.GetName()].
insert(
i->second.GetNamespaceName());
96clashes[j->second.GetName()].
insert(j->second.GetNamespaceName());
97problem_ns.
insert(
i->second.GetNamespaceName());
98problem_ns.
insert(j->second.GetNamespaceName());
101all_ns.
insert(
i->second.GetNamespaceName());
104 if(!clashes.
empty()) {
105 stringreport(
"Detected element name clashes:\n");
107c!= clashes.
end(); ++c) {
109 n!= c->second.end(); ++
n) {
110report += c->first +
" in "+ *
n+
"\n";
114 if(!use_subns_all && !use_subns_problem) {
116 "Element name clashes detected, please specify [-]UseSubnamespaces=problem_modules/all_modules in DEF file");
121 if((!use_subns_all && !use_subns_problem) ||
122(use_subns_problem && problem_ns.
empty())) {
127 if(use_subns_problem) {
129p != problem_ns.
end(); ++p) {
146list< AutoPtr<CDataTypeModule> > modNs;
150 if(use_subns_problem) {
153 if(problem_ns.
find(*
a) == problem_ns.
end()) {
158modNs.push_back(module);
166 stringmodule_name(ns_prefix);
167 if(!module_name.empty()) {
175namesp2module[*
a] = module_name;
176 if(!modN->GetDefinitions().empty()) {
177modN->SetSubnamespace(ns_prefix);
178modNs.push_back(modN);
179module2nsprefix[module_name] = ns_prefix;
183 if(modNs.size() > 1) {
195imp_module = namesp2module[
i->second.GetNamespaceName()];
196 constlist<string>& refs(
i->second.GetContent());
197 for(list<string>::const_iterator
r= refs.begin();
r!= refs.end(); ++
r) {
200 stringmodule_name(namesp2module[name_space]);
201 if(module_name != imp_module) {
202impex[module_name].push_back(node.
GetName());
208 for(
map<
string, list<string> >::iterator x= impex.
begin();
209x != impex.
end(); ++x) {
213 n!= modNs.end(); ++
n) {
214 if(
n->get()->GetName() == x->first) {
215 n->get()->AddExports(x->second);
222 n!= modNs.end(); ++
n) {
223 if(
n->get()->GetName() == imp_module) {
224 for(
map<
string, list<string> >::iterator x= impex.
begin();
225x != impex.
end(); ++x) {
226 n->get()->AddImports(x->first, x->second);
234 n!= modNs.end(); ++
n) {
235modules->AddModule(*
n);
271 ParseError(
"Unexpected end-of-file",
"keyword");
293 ParseError(
"Unexpected token",
"definitions");
314 l.UseXSDLexer(
true);
318 l.UseXSDLexer(
false);
323 ParseError(
"Unexpected token",
"end of tag");
401 ParseError(
"Binding has no type",
"type");
408 ParseError(
"Only document style binding is supported",
"document");
424 ParseError(
"Operation has no name",
"name");
435 if(!
value.empty()) {
439 if(!
value.empty()) {
475 msg.SetName(msg_name);
503 msg.SetName(msg_name);
530 msg.SetName(msg_name);
563 ParseError(
"Part has no element",
"element");
584 ParseError(
"Port has no binding",
"binding");
597 ParseError(
"Port has no location",
"location");
600 if(!
value.empty()) {
617 id=
string(
"service:") + name;
620 id=
string(
"endpoint:") + name;
623 id=
string(
"operation:") + name;
626 id=
string(
"headerinput:") + name;
629 id=
string(
"input:") + name;
632 id=
string(
"headeroutput:") + name;
635 id=
string(
"output:") + name;
638 id=
string(
"message:") + name;
658 constlist<string>& cont = node.
GetContent();
679 ParseError(
"Message has no name",
"name");
697 ParseError(
"Service has no name",
"name");
751 stringename(e->first);
785 constlist<string> refs = node.
GetContent();
786 for(list<string>::const_iterator
i= refs.begin();
i!= refs.end(); ++
i) {
789 if(&agent != &node &&
AbstractLexer & Lexer(void)
virtual void ParseError(const char *error, const char *expected, const AbstractToken &token)
void CopyComments(CComments &comments)
CComments & Comments(void)
static CNcbiApplication * Instance(void)
Singleton method.
void SetName(const string &name)
const string & GetTypeName(void) const
void AddContent(const string &ref_name)
void SetTypeName(const string &name)
void SetDefault(const string &value)
void SetSourceLine(int line)
@ eWsdlUnsupportedEndpoint
CComments & Comments(void)
void SetNamed(bool named=true)
const string & GetName(void) const
const string & GetNamespaceName(void) const
const list< string > & GetContent(void) const
bool RemoveContent(const string &ref_name)
void SetEmbedded(bool set=true)
void SetNamespaceName(const string &name)
EType GetType(void) const
const string & GetName(void) const
EType GetType(void) const
void GenerateDataTree(CDataTypeModule &module, const string &name_space)
map< string, DTDEntity > m_MapEntity
map< string, DTDElement > m_MapElement
virtual void BuildDataTree(AutoPtr< CFileModules > &modules, AutoPtr< CDataTypeModule > &module)
virtual string GetLocation(void) override
void SetCommentsIfEmpty(CComments *comments)
TToken GetNextToken(void)
void AddElementContent(DTDElement &node, string &id_name, char separator=0)
virtual void BuildDataTree(AutoPtr< CFileModules > &modules, AutoPtr< CDataTypeModule > &module) override
void ParseInput(DTDElement &node)
void ParseOutput(DTDElement &node)
void ParsePort(DTDElement &node)
virtual void BuildDocumentTree(CDataTypeModule &module) override
void ProcessEndpointTypes(void)
virtual ~WSDLParser(void)
DTDElement & EmbeddedElement(DTDElement &node, const string &name, DTDElement::EType type)
void ParseOperation(DTDElement &node)
void ParseBody(DTDElement &node)
void ParseAddress(DTDElement &node)
void CollectDataObjects(void)
string CreateWsdlName(const string &name, DTDElement::EType type)
void ParseContent(DTDElement &node)
string CreateEmbeddedName(DTDElement &node, DTDElement::EType type)
void ParseTypes(CDataTypeModule &module)
WSDLParser(WSDLLexer &lexer)
void ParsePortType(DTDElement &node)
virtual AbstractLexer * CreateEntityLexer(CNcbiIstream &in, const string &name, bool autoDelete=true) override
void ParsePart(DTDElement &node)
void ParseBinding(DTDElement &node)
void ProcessNamedTypes(void)
virtual void BuildDocumentTree(CDataTypeModule &module) override
EElementNamespace GetElementNamespace(const string &prefix)
map< string, string > m_PrefixToNamespace
TToken GetNextToken(void)
string CreateTmpEmbeddedName(const string &name, int emb)
bool GetAttribute(const string &att)
bool DefineElementType(DTDElement &node)
void ParseDocumentation(void)
virtual DTDEntity * PushEntityLexer(const string &name) override
bool IsAttribute(const char *att) const
void CreateTypeDefinition(DTDEntity::EType type)
map< string, string > m_NamespaceToPrefix
string CreateEntityId(const string &name, DTDEntity::EType type, const string *prefix=NULL)
void BeginScope(DTDEntity *ent)
TToken GetRawAttributeSet(void)
const_iterator begin() const
const_iterator end() const
iterator_bool insert(const value_type &val)
const_iterator find(const key_type &key) const
iterator_bool insert(const value_type &val)
const_iterator begin() const
const_iterator find(const key_type &key) const
const_iterator end() const
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define ERR_POST_X(err_subcode, message)
Error posting with default error code and given error subcode.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
void Warning(CExceptionArgs_Base &args)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
static int CompareNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive compare of a substring with another string.
static string & Replace(const string &src, const string &search, const string &replace, string &dst, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
Definition of all error codes used in serial libraries (xser.lib, xcser.lib).
constexpr bool empty(list< Ts... >) noexcept
const GenericPointer< typename T::ValueType > T2 value
std::istream & in(std::istream &in_, double &x_)
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
static SLJIT_INLINE sljit_ins l(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4