Dynamically generating HTML pages with XMLC (3/4) - exploring XML
Dynamically generating HTML pages with XMLC
Compiling HTML Pages
You can download XMLC from the Enhydra Site. Let's put it to work: The xmlc
command is used to run XMLC.
It parses an HTML page and normally creates a Java class than
contains a DOM representation of that object.
The XMLC compilation process is straight forward, with only a class name, output directory and a HTML file normally required as parameters. For example:
xmlc -d classes -class sample.Hello hello.htmlwould generate an XMLC class named
sample.HelloHTML
from a HTML file
hello.html
and writes the resulting class file under
the directory classes
.
The HTML page could look like this:
<html><body> Hi there, the local time is <span id="time">now</span>. </body></html>
Generated Document Class
Thexmlc
command compiles the document into a Java
class:
public class HelloHTML extends org.enhydra.xml.xmlc.html.HTMLObject implements org.w3c.dom.html.HTMLDocument { SpanElement getElementTime() { return getElementByName("time"); } void setTextTime(String time) { ... // DOM code to replace the text in the span tag with 'time' } ... // more DOM stuff }In addition to the standard
DOM
document
access method, the generated class will contain a get method for
each element that contains an identifier attribute.
For HTML documents, this is the id
attribute, valid
for almost all tags.
With
XML documents, these are all attributes declared to be type ID
in the DTD.
The get method will be named in the form
getElementIdname
. With the first character of the id
being shifted to upper case to conform to the Java convention. The return
type will be the DOM class that represents the element.
For span tags, a set method is generated for replacing the text inside the span element with the passed in argument.
On to using XMLC generated objects.
Produced by Michael Claßen
All Rights Reserved. Legal Notices.
URL: https://www.webreference.com/xml/column23/3.html
Created: Nov 05, 2000
Revised: Nov 05, 2000