MAIN
DEFINE w om.SaxDocumentHandler
DEFINE a,n om.SaxAttributes
LET w = om.XmlWriter.createFileWriter("sample.html")
LET a = om.SaxAttributes.create()
LET n = om.SaxAttributes.create()
CALL n.clear()
CALL w.startDocument()
CALL w.startElement("HTML",n)
CALL w.startElement("HEAD",n)
CALL w.startElement("TITLE",n)
CALL w.characters("HTML page generated with XmlWriter")
CALL w.endElement("TITLE")
CALL a.clear()
CALL a.addAttribute("type","text/css")
CALL w.startElement("STYLE",a)
CALL w.characters("\nBODY { background-color:#c0c0c0; }\n")
CALL w.endElement("STYLE")
CALL w.endElement("HEAD")
CALL w.startElement("BODY",n)
CALL addHLine(w)
CALL addTitle(w,"What is XML?",1,"55ff55")
CALL addParagraph(w,"XML = eXtensible Markup Language ...")
CALL addHLine(w)
CALL addTitle(w,"What is SAX?",1,"55ff55")
CALL addParagraph(w,"SAX = Simple Api for XML ...")
CALL w.endElement("BODY")
CALL w.endElement("HTML")
CALL w.endDocument()
END MAIN
FUNCTION addHLine(w)
DEFINE w om.SaxDocumentHandler
DEFINE a om.SaxAttributes
LET a = om.SaxAttributes.create()
CALL a.clear()
CALL a.addAttribute("width","100%")
CALL w.startElement("HR",a)
CALL w.endElement("HR")
END FUNCTION
FUNCTION addTitle(w,t,x,c)
DEFINE w om.SaxDocumentHandler
DEFINE t VARCHAR(100)
DEFINE x INTEGER DEFINE c VARCHAR(20)
DEFINE a om.SaxAttributes
DEFINE n varchar(10)
LET a = om.SaxAttributes.create()
LET n = "h" || x
CALL a.clear()
CALL w.startElement(n,a)
IF c IS NOT NULL THEN CALL a.addAttribute("color",c)
END IF CALL w.startElement("FONT",a)
CALL w.characters(t)
CALL w.endElement("FONT")
CALL w.endElement(n)
END FUNCTION
FUNCTION addParagraph(w,t)
DEFINE w om.SaxDocumentHandler
DEFINE t VARCHAR(2000)
DEFINE a om.SaxAttributes
LET a = om.SaxAttributes.create()
CALL a.clear()
CALL w.startElement("P",a)
CALL w.characters("Text is:")
CALL w.skippedEntity("nbsp") # Add a non breaking space:
CALL w.characters("is")
CALL w.characters(t)
CALL w.endElement("P")
END FUNCTION