@Override
	public void dumpNonTerminals()
	{
		int i = 0;
		for(NonTerminal nt : grammar.getNT())
		{
			Element ntElement = (Element) dumpTop.appendChild(document.createElement("nonterminal"));
			ntElement.setAttribute("tag","nt" + i);
			ntElement.setAttribute("id",nt.toString());
			if(grammar.getOwner(nt) != null && numbering.containsKey(grammar.getOwner(nt)))
			{
				ntElement.setAttribute("owner","g" + numbering.get(grammar.getOwner(nt)));
			}
			if(grammar.hasDisplayName(nt.getId()))
			{
				Element displayNameElement = (Element) ntElement.appendChild(document.createElement("displayname"));
				displayNameElement.setTextContent(grammar.getDisplayName(nt.getId()));
			}
			numbering.put(nt,i++);
		}
	}