935,936d934
<   QString url,onclick,target,style;
< 	HtmlAttribList attrList = tagHtmlAttribs;
966,995d963
<     else if (opt->name=="onclick") // <a onclick=action>..</a> tag
< 	{
< 		// copy attributes
< 		HtmlAttribList attrList = tagHtmlAttribs;
< 		// and remove the onclick attribute
< 		bool result = attrList.remove(index);
< 		ASSERT(result);
< 		DocOnClick *doc=new DocOnClick(parent,attrList,opt->value);
< 		children.append(doc);
< 		g_insideHtmlLink=TRUE;
< 		retval = doc->parse();
< 		g_insideHtmlLink=FALSE;
< 		break;
< 	}
<     else if (opt->name=="target") // <a onclick=action>..</a> tag
< 	{
< 		// copy attributes
< 		// and remove the onclick attribute
< 		bool result = attrList.remove(index);
< 		ASSERT(result);
< 		target=opt->value;
< 	}
<     else if (opt->name=="style") // <a onclick=action>..</a> tag
< 	{
< 		// copy attributes
< 		// and remove the onclick attribute
< 		bool result = attrList.remove(index);
< 		ASSERT(result);
< 		style=opt->value;
< 	}
2928,2981d2895
< int DocOnClick::parse()
< {
< 	int retval=RetVal_OK;
< 	g_nodeStack.push(this);
< 	DBG(("DocOnClick::parse() start\n"));
< 
< 	int tok;
< 	while ((tok=doctokenizerYYlex()))
< 	{
< 		if (!defaultHandleToken(this,tok,m_children))
< 		{
< 			switch (tok)
< 			{
< 				case TK_COMMAND: 
< 					warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Illegal command %s as part of a <a>..</a> block",
< 					g_token->name.data());
< 					break;
< 				case TK_SYMBOL: 
< 					warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Unsupported symbol %s found",g_token->name.data());
< 					break;
< 				case TK_HTMLTAG:
< 					{
< 						int tagId=Mappers::htmlTagMapper->map(g_token->name);
< 						if (tagId==HTML_A && g_token->endTag) // found </a> tag
< 						{
< 							goto endonclick;
< 						}
< 						else
< 						{
< 							warn_doc_error(g_fileName,doctokenizerYYlineno,
< 								"Warning: Unexpected html tag <%s%s> found within <a onclick=...> context",
< 									g_token->endTag?"/":"",g_token->name.data(),doctokenizerYYlineno);
< 						}
< 					}
< 					break;
< 				default:
< 					warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Unexpected token %s",
< 					tokToString(tok),doctokenizerYYlineno);
< 					break;
< 			}
< 		}
< 	}
< 	if (tok==0)
< 	{
< 		warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Unexpected end of comment while inside"
< 					 " <a onclick=...> tag",doctokenizerYYlineno); 
< 	}
< endonclick:
< 	handlePendingStyleCommands(this,m_children);
< 	DBG(("DocOnClick::parse() end\n"));
< 	DocNode *n=g_nodeStack.pop();
< 	ASSERT(n==this);
< 	return retval;
< }
135,136c135
<                 Kind_MscFile        = 48,
< 				Kind_OnClick        = 49
---
>                 Kind_MscFile        = 48
729,730d727
<     QCString onclick() const        { return m_onclick; }
<     QCString target() const        { return m_target; }
735,737d731
<     QCString   m_onclick;
<     QCString   m_target;
<     QCString   m_style;
743,760d736
< /*! @brief Node representing an OnClick handler */
< class DocOnClick : public CompAccept<DocOnClick>, public DocNode
< {
<   public:
<     DocOnClick(DocNode *parent,const HtmlAttribList &attribs,const QCString &action) : 
<       m_parent(parent), m_attribs(attribs), m_action(action) {}
<     int parse();
<     QCString action() const        { return m_action; }
<     Kind kind() const          { return Kind_OnClick; }
<     DocNode *parent() const    { return m_parent; }
<     void accept(DocVisitor *v) { CompAccept<DocOnClick>::accept(this,v); }
<     const HtmlAttribList &attribs() const { return m_attribs; }
< 
<   private:
<     DocNode * m_parent;
<     HtmlAttribList m_attribs;
<     QCString   m_action;
< };
82d81
< class DocOnClick;
187,188d185
< 	virtual void visitPre(DocOnClick *) {}
< 	virtual void visitPost(DocOnClick *) {}
968,980d967
< void HtmlDocVisitor::visitPre(DocOnClick *onclick)
< { 
<   if (m_hide) return;
<   m_t << "<a onclick=\"" << onclick->action()  << "\""
<       << htmlAttribsToString(onclick->attribs()) << ">";
< }
< 
< void HtmlDocVisitor::visitPost(DocOnClick *) 
< {
<   if (m_hide) return;
<   m_t << "</a>";
< }
< 
1169,1177c1156,1157
<   m_t << "<a href=\"" << href->url()  << "\"";
< 
<   if(href->onclick().length())
< 	 m_t << " onclick=\"" << href->onclick()  << "\"";
< 
<   if(href->target().length())
< 	 m_t << " target=\"" << href->target()  << "\"";
< 
<   m_t << htmlAttribsToString(href->attribs()) << ">";
---
>   m_t << "<a href=\"" << convertToXML(href->url())  << "\""
>       << htmlAttribsToString(href->attribs()) << ">";
128,129d127
<     void visitPre(DocOnClick *);
<     void visitPost(DocOnClick *);
