diff --git a/CompilerGeneration.jrag b/CompilerGeneration.jrag
index b4d00c0d8a1342c8aa06874f3a4c80089eb39061..737433aa36dceadc5c2847bc4225c722832ed9c8 100644
--- a/CompilerGeneration.jrag
+++ b/CompilerGeneration.jrag
@@ -529,6 +529,28 @@ aspect GenPrettyPrinter {
         pStream.println("    getAttrValue().prettyPrint(indent,pStream);");
 		pStream.println("  }\n");        
 
+		pStream.println("  public void __DefaultElement__.prettyPrint(String ind, PrintStream pStream) {");
+		pStream.println("    pStream.print(ind+\"<\"+getTAG()+\" \");");
+		pStream.println("    for (int i=0; i<getNumAttribute(); i++) {");
+		pStream.println("      getAttribute(i).prettyPrint(ind,pStream);");
+		pStream.println("    }");
+        pStream.println("    if (getNumElement() == 0) {");
+        pStream.println("       pStream.println(\"/> \");");
+        pStream.println("    } else {");
+        pStream.println("       pStream.println(\"> \");");
+        pStream.println("       String newInd = ind+\"  \";");
+        pStream.println("       for (int i=0; i<getNumElement(); i++) {");
+        pStream.println("          getElement(i).prettyPrint(newInd,pStream);");
+        pStream.println("       }");
+		pStream.println("       pStream.println(ind+\"</\"+getTAG()+\"> \");");
+        pStream.println("    }");
+		pStream.println("  }\n");        
+
+		pStream.println("  public void __DefaultAttribute__.prettyPrint(String indent, PrintStream pStream) {");
+ 		pStream.println("    pStream.print(\" \"+getNAME()+\"=\");");
+        pStream.println("       getAttrValue().prettyPrint(indent,pStream);");
+		pStream.println("  }\n");        
+
         Hashtable h = elementTypes();
         h.putAll(attributeTypes());
         Iterator iter = h.values().iterator();