Exemplo n.º 1
0
  void title()
  {
    out << "<title>" << std::endl;
    std::wstring text=L"unset";
    if (dom->children.size() > 0) {
      htmlencode(out,gettext(dom->children[0]));
    }
    out << "</title>" << std::endl;        

  }
Exemplo n.º 2
0
  void process(NodeSP child)
  {
    switch(child->type()) {
    case Node::STATEMENTS:
      for (size_t i=0; i<child->children.size(); ++i) {
        process(child->children[i]);
		if(in_paragraph == true && (current > p_count  || p_count == 1)){
			out<<"</p>";
			in_paragraph = false;
		}
      }
      break;
    case Node::PARAGRAPH:
	
	if(in_paragraph == false){
      out << "<p>";
	  in_paragraph = true;
	}
	
	current++;
      htmlencode(out,gettext(child));
	  /*
	  if(in_paragraph == true && current == p_count){
      out << "</p>";
	  in_paragraph = false;
	  }
	  */
      break;
    case Node::MARKUP:      
      out << "<b>";
      for (size_t i=0; i<child->children.size(); ++i) {
        process(child->children[i]);
      }
      out << "</b>";
      break;
    }
  }
Exemplo n.º 3
0
string HtmlToGG::filter(const string& str)
{
	vector<HtmlTag> tagsList;
	unsigned int i=0, max=str.size();
	string ret, name, inside;
	bool tagName=false; // wciaz trwa nazwa tagu (nie bylo spacji)
 	HtmlTag temp;
	
	while(i<max)
	{
		if(str[i]=='<')
		{
			temp.start = i;
			name.clear();
			tagName=true;
		}
		else
		if(str[i]==' ')
		{
			tagName=false;
		}
		else
		if(str[i]=='>' && name.size()>2)
		{
			tagName=false;
			temp.end = i;
			name.assign(name.substr(1,name.size()-1));
			temp.name.assign(name);
			tagsList.push_back(temp);
			temp.start=0;
			temp.end=0;
			temp.name.clear();
		}

		if(tagName)
		{
			name+=str[i];
		}

		i++;
	}

	unsigned int last = 0;
	if(tagsList.empty())
		return str;
	for(i=0;i<tagsList.size();i++)
	{
		ret += str.substr(last,tagsList[i].start-last);
		last = tagsList[i].end+1;
		if(isOkTag(tagsList[i].name))
		{
			ret += str.substr(tagsList[i].start,tagsList[i].end-tagsList[i].start+1);
		}
		else
		{
			ret += htmlencode(str.substr(tagsList[i].start,tagsList[i].end-tagsList[i].start+1));
		}
	}
	ret += str.substr(last,str.size()-last);

	return ret;
}
Exemplo n.º 4
0
void MarkupNode::print(std::ostream &out) const {
	htmlencode(out,markup);
	Node::print(out);
	out << std::endl;
}
Exemplo n.º 5
0
void ParagraphNode::print(std::ostream &out) const {
	out << "Paragraph[content=<p>";
    htmlencode(out,content);
	out << "</p>]";
	Node::print(out);
}