com.ibm.as400.util.html
Class HTMLDocument

java.lang.Object
  extended bycom.ibm.as400.util.html.HTMLTagAttributes
      extended bycom.ibm.as400.util.html.HTMLDocument
All Implemented Interfaces:
HTMLTagElement, Serializable

public class HTMLDocument
extends HTMLTagAttributes
implements Serializable

The HTMLDocument class represents an HTML or an XSL-FO document. The document contains all information needed to display an HTML or an XSL-FO page.

  The following java program creates an HTMLDocument:


  package com.ibm.as400.util.html;
  import java.*;
  import java.io.*;
  import java.lang.*;
  import java.beans.PropertyVetoException;

  public class FoFile
  {
       public static void main (String[] args)
       {
           //Create the HTMLDocument that holds necessary document properties
           HTMLDocument fo = new HTMLDocument();
        
           //Set page and margin properties.  Numbers are in inches.
           fo.setPageWidth(8.5);
           fo.setPageHeight(11);
           fo.setMarginTop(1);
           fo.setMarginBottom(1);
           fo.setMarginLeft(1);
           fo.setMarginRight(1);
        
           //Create a header for the page.
           HTMLHead head = new HTMLHead();
           //Set the title for the header
           head.setTitle("This is the page header.");
        
           //Create several headings
           HTMLHeading h1 = new HTMLHeading(1, "Heading 1");
           HTMLHeading h2 = new HTMLHeading(2, "Heading 2");
           HTMLHeading h3 = new HTMLHeading(3, "Heading 3");
           HTMLHeading h4 = new HTMLHeading(4, "Heading 4");
           HTMLHeading h5 = new HTMLHeading(5, "Heading 5");
           HTMLHeading h6 = new HTMLHeading(6, "Heading 6");
        
           //Create some text that is printed from right to left.
           //Create BidiOrdering object and set the direction
           BidiOrdering bdo = new BidiOrdering();
           bdo.setDirection(HTMLConstants.RTL);

           //Create some text
           HTMLText text = New HTMLText("This is Arabic text.");
           //Add the text to the bidi-ordering object and get XSL-FO tag
           bdo.addItem(text);
        
           //Add the HTMLHead
           fo.setHTMLHead(head);

           //Add the items to the document
           fo.addElement(h1);
           fo.addElement(h2);
           fo.addElement(h3);
           fo.addElement(h4);
           fo.addElement(h5);
           fo.addElement(h6);
           fo.addElement(bdo);
        
           //Print the Formatting Object tag.
           System.out.println(fo.getFOTag());

           //Print the HTML Object tag.
           System.out.println(fo.getTag());
       }   
  }


  Here is the output generated by the above program:


   <fo:root xmlns:fo = 'http://www.w3.org/1999/XSL/Format'>
   <fo:layout-master-set>
   <fo:simple-page-master master-name='body-page' writing-mode='lr-tb' page-width='8.5in' page-height='11.0in' margin-top='1.0in' margin-bottom='1.0in' margin-left='1.0in' margin-right='1.0in'>
   <fo:region-body region-name='xsl-region-body'/>
   <fo:region-before region-name='xsl-region-before' precedence='true' extent='1.0in'/>
   <fo:region-after region-name='xsl-region-after' precedence='true' extent='1.0in'/>
   <fo:region-start region-name='xsl-region-start' extent='1.0in'/>
   <fo:region-end region-name='xsl-region-end' extent='1.0in'/>
   </fo:simple-page-master>
   </fo:layout-master-set>
   <fo:page-sequence master-name='body-page'>
   <fo:flow flow-name='xsl-region-body'>
   
   <fo:block-container writing-mode='lr'>
   <fo:block font-size='25pt'>Heading 1</fo:block>
   </fo:block-container>                              

   <fo:block-container writing-mode='lr'>
   <fo:block font-size='20pt'>Heading 2</fo:block>
   </fo:block-container>

   <fo:block-container writing-mode='lr'>
   <fo:block font-size='15pt'>Heading 3</fo:block>
   </fo:block-container>
   
   <fo:block-container writing-mode='lr'>
   <fo:block font-size='13pt'>Heading 4</fo:block>
   </fo:block-container>

   <fo:block-container writing-mode='lr'>
   <fo:block font-size='11pt'>Heading 5</fo:block>
   </fo:block-container>

   <fo:block-container writing-mode='lr'>
   <fo:block font-size='9pt'>Heading 6</fo:block>
   </fo:block-container>

   <fo:block-container writing-mode='rl'>
   <fo:block>This is Arabic text.</fo:block>
   </fo:block-container>

   </fo:flow>
   <fo:static-content flow-name='xsl-region-before'>
   <fo:block-container>
   This is the page header.</fo:block-container>
   </fo:static-content>
   </fo:page-sequence>
   </fo:root>


   <html>
   <head>
   <title>This is the page header.</title>
   </head>
   <body>
   <h1>Heading 1</h1>
   <h2>Heading 2</h2>
   <h3>Heading 3</h3>
   <h4>Heading 4</h4>
   <h5>Heading 5</h5>
   <h6>Heading 6</h6>

   <bdo dir="rtl">
   This is Arabic text.
   </bdo>

   </body>
   </html>
  

See Also:
Serialized Form

Constructor Summary
HTMLDocument()
          Constructs a default HTMLDocument object.
HTMLDocument(HTMLHead head)
          Constructs an HTMLDocument object with the specified HTMLHead.
 
Method Summary
 void addElement(HTMLTagElement tag)
          Adds a tag to the main body of the document.
 void addElement(HTMLTagElement[] tag)
          Adds an array of tags to the document.
 void addListener(ElementListener listener)
          Adds an ElementListener for the tag The ElementListener object is added to an internal list of tag Listeners; it can be removed with removeListener.
 String getFOTag()
          Returns the tag for the XSL-FO document.
 HTMLHead getHTMLHead()
          Returns an HTMLHead object for the page.
 double getMarginBottom()
          Returns the bottom margin of the page in inches.
 double getMarginLeft()
          Returns the left margin of the page in inches.
 double getMarginRight()
          Returns the right margin of the page in inches.
 double getMarginTop()
          Returns the top margin of the page in inches.
 double getPageHeight()
          Returns the height of the page in inches.
 double getPageWidth()
          Returns the width of the page in inches.
 String getTag()
          Returns the tag for the HTML document.
 boolean isUseFO()
          Returns if Formatting Object tags are outputted.
 void removeElement(HTMLTagElement tag)
          Removes an HTMLTagElement from the document.
 void removeListener(ElementListener listener)
          Removes this tags ElementListener from the internal list.
 void setHTMLHead(HTMLHead head)
          Adds the HTML tag or the page header for an XSL-FO page.
 void setMarginBottom(double bottom)
          Sets the bottom-margin of the XSL-FO page in inches.
 void setMarginLeft(double left)
          Sets the left-margin of the XSL-FO page in inches.
 void setMarginRight(double right)
          Sets the right-margin of the XSL-FO page in inches.
 void setMarginTop(double top)
          Sets the top-margin of the XSL-FO page in inches.
 void setPageHeight(double height)
          Sets the page-height of the XSL-FO page in inches.
 void setPageWidth(double width)
          Sets the page-width of the XSL-FO page in inches.
 void setUseFO(boolean useFO)
          Sets if Formatting Object tags should be used.
 String toString()
          Returns a String representation for the Document tag.
 
Methods inherited from class com.ibm.as400.util.html.HTMLTagAttributes
addPropertyChangeListener, getAttributes, getAttributeString, removePropertyChangeListener, setAttributes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

HTMLDocument

public HTMLDocument()
Constructs a default HTMLDocument object.


HTMLDocument

public HTMLDocument(HTMLHead head)
Constructs an HTMLDocument object with the specified HTMLHead.

Parameters:
head - An HTMLHead object.
Method Detail

addElement

public void addElement(HTMLTagElement tag)
Adds a tag to the main body of the document.

Parameters:
tag - An HTMLTagElement object.

setHTMLHead

public void setHTMLHead(HTMLHead head)
Adds the HTML tag or the page header for an XSL-FO page.

Parameters:
head - An HTMLHead object.

getHTMLHead

public HTMLHead getHTMLHead()
Returns an HTMLHead object for the page.

Returns:
The HTMLHead object.

addElement

public void addElement(HTMLTagElement[] tag)
Adds an array of tags to the document.

Parameters:
tag - An HTMLTagElement array.

getFOTag

public String getFOTag()
Returns the tag for the XSL-FO document.

Specified by:
getFOTag in interface HTMLTagElement
Returns:
The tag.

getTag

public String getTag()
Returns the tag for the HTML document.

Specified by:
getTag in interface HTMLTagElement
Returns:
The tag.

isUseFO

public boolean isUseFO()
Returns if Formatting Object tags are outputted. The default value is false.

Returns:
true if the output generated is an XSL formatting object, false if the output generated is HTML.

toString

public String toString()
Returns a String representation for the Document tag.

Returns:
The tag.

removeListener

public void removeListener(ElementListener listener)
Removes this tags ElementListener from the internal list. If the ElementListener is not on the list, nothing is done.

Parameters:
listener - The ElementListener.
See Also:
addListener(com.ibm.as400.util.html.ElementListener)

addListener

public void addListener(ElementListener listener)
Adds an ElementListener for the tag The ElementListener object is added to an internal list of tag Listeners; it can be removed with removeListener.

Parameters:
listener - The ElementListener.
See Also:
removeListener(com.ibm.as400.util.html.ElementListener)

setPageHeight

public void setPageHeight(double height)
Sets the page-height of the XSL-FO page in inches. The default value is 11 inches.

Parameters:
height - The height.

setPageWidth

public void setPageWidth(double width)
Sets the page-width of the XSL-FO page in inches. The default value is 8.5 inches.

Parameters:
width - The width

setMarginTop

public void setMarginTop(double top)
Sets the top-margin of the XSL-FO page in inches. The default value is 0.5 inches.

Parameters:
top - The width of the top margin

setMarginBottom

public void setMarginBottom(double bottom)
Sets the bottom-margin of the XSL-FO page in inches. The default value is 0.5 inches.

Parameters:
bottom - The width of the bottom margin

setMarginRight

public void setMarginRight(double right)
Sets the right-margin of the XSL-FO page in inches. The default value is 0.5 inches.

Parameters:
right - The width of the right margin

setMarginLeft

public void setMarginLeft(double left)
Sets the left-margin of the XSL-FO page in inches. The default value is 0.5 inches.

Parameters:
left - The width of the left margin

removeElement

public void removeElement(HTMLTagElement tag)
Removes an HTMLTagElement from the document.

Parameters:
tag - The HTMLTagElement.

getPageHeight

public double getPageHeight()
Returns the height of the page in inches.

Returns:
The height.

getPageWidth

public double getPageWidth()
Returns the width of the page in inches.

Returns:
The width.

getMarginTop

public double getMarginTop()
Returns the top margin of the page in inches.

Returns:
The top margin.

getMarginBottom

public double getMarginBottom()
Returns the bottom margin of the page in inches.

Returns:
The bottom margin.

getMarginLeft

public double getMarginLeft()
Returns the left margin of the page in inches.

Returns:
The left margin.

getMarginRight

public double getMarginRight()
Returns the right margin of the page in inches.

Returns:
The right margin.

setUseFO

public void setUseFO(boolean useFO)
Sets if Formatting Object tags should be used. The default value is false.

Parameters:
useFO - - true if output generated is an XSL formatting object, false if the output generated is HTML.