/* ____ ____ ____ ____ ______ *\ ** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala ** ** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL ** ** /_____/\____/\___/\____/____/ ** \* */ // $Id$ package ch.epfl.lamp.util; import java.io.Writer; /** * This class provides methods to print XHTML document. * * @author Stephane Micheloud * @version 1.1 */ public class XHTMLPrinter extends HTMLPrinter { //######################################################################## // Public Constructors /** * Creates a new instance. * * @param writer * @param title * @param representation * @param stylesheet * @param script */ public XHTMLPrinter(Writer writer, String title, HTMLRepresentation representation, String stylesheet, String script) { super(writer, title, representation, stylesheet, script); } /** * Creates a new instance. * * @param writer * @param title * @param representation * @param stylesheet */ public XHTMLPrinter(Writer writer, String title, HTMLRepresentation representation, String stylesheet) { this(writer, title, representation, stylesheet, DEFAULT_JAVASCRIPT); } /** * Creates a new instance. * * @param writer * @param title * @param repr */ public XHTMLPrinter(Writer writer, String title, HTMLRepresentation representation) { this(writer, title, representation, DEFAULT_STYLESHEET); } /** * Creates a new instance with "XHTML 1.0 Transitional" as default document type. * * @param writer * @param title * @param docencoding */ public XHTMLPrinter(Writer writer, String title, String docencoding) { this(writer, title, new HTMLRepresentation("XHTML 1.0 Transitional", docencoding)); } /** * Creates a new instance with "utf-8" as default character encoding. * * @param writer * @param title */ public XHTMLPrinter(Writer writer, String title) { this(writer, title, "utf-8"); } //######################################################################## // Public Methods - Printing simple values followed by a new line /** * Prints text text in bold followed by a new line. * * @param text * @return the current HTML printer */ public HTMLPrinter printlnBold(String text) { return printlnTag("span", new XMLAttribute[]{ new XMLAttribute("style", "font-weight:bold;") }, text); } /** * Prints an horizontal line separator followed by a new line. * * @return the current HTML printer */ public HTMLPrinter printlnHLine() { printOTag("div", new XMLAttribute[] { new XMLAttribute("style", "border:1px solid #aaaaaa; " + "margin:10px 0px 5px 0px;height:1px;") }); return printlnCTag("div"); } //######################################################################## // Public Methods - Printing simple values /** * Prints text text in bold. * * @param text * @return the current HTML printer */ public HTMLPrinter printBold(String text) { return printTag("span", new XMLAttribute[]{ new XMLAttribute("style", "font-weight:bold;") }, text); } /** * Prints an horizontal line separator * * @return the current HTML printer */ public HTMLPrinter printHLine() { printOTag("div", new XMLAttribute[] { new XMLAttribute("style", "border:1px solid #aaaaaa; " + "margin:10px 0px 5px 0px;height:1px;") }); return printCTag("div"); } /** * Prints an horizontal line separator with attributes attrs. * * @param attrs * @return the current HTML printer */ public HTMLPrinter printHLine(XMLAttribute[] attrs) { return printHLine(); } /** * Prints the <meta/> tag with attributes attrs * followed by a new line. * * @param attrs * @return the current HTML printer */ public HTMLPrinter printlnMeta(XMLAttribute[] attrs) { return printlnSTag("meta", attrs); } /** * Prints the <link> tag with attributes attrs * followed by a new line. * * @param attrs * @return the current HTML printer */ public HTMLPrinter printlnLink(XMLAttribute[] attrs) { return printlnSTag("link", attrs); } //######################################################################## /** * Prints XHTML preamble. */ protected void printPreamble() { println(""); println(""); println("").line(); } //######################################################################## }