blob: f5b72bc853781bf546b884d703987673eeb0bb32 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.hadoop.yarn.webapp.hamlet;
import java.lang.annotation.*;
import java.util.EnumSet;
import org.apache.hadoop.yarn.webapp.SubView;
/**
* HTML5 compatible HTML4 builder interfaces.
*
* <p>Generated from HTML 4.01 strict DTD and HTML5 diffs.
* <br>cf. http://www.w3.org/TR/html4/
* <br>cf. http://www.w3.org/TR/html5-diff/
* <p> The omitted attributes and elements (from the 4.01 DTD)
* are for HTML5 compatibility.
*
* <p>Note, the common argument selector uses the same syntax as Haml/Sass:
* <pre> selector ::= (#id)?(.class)*</pre>
* cf. http://haml-lang.com/
*
* <p>The naming convention used in this class is slightly different from
* normal classes. A CamelCase interface corresponds to an entity in the DTD.
* _CamelCase is for internal refactoring. An element builder interface is in
* UPPERCASE, corresponding to an element definition in the DTD. $lowercase is
* used as attribute builder methods to differentiate from element builder
* methods.
*/
public class HamletSpec {
// The enum values are lowercase for better compression,
// while avoiding runtime conversion.
// cf. http://www.w3.org/Protocols/HTTP/Performance/Compression/HTMLCanon.html
// http://www.websiteoptimization.com/speed/tweak/lowercase/
/** %Shape (case-insensitive) */
public enum Shape {
/**
* rectangle
*/
rect,
/**
* circle
*/
circle,
/**
* polygon
*/
poly,
/**
* default
*/
Default
};
/** Values for the %18n dir attribute (case-insensitive) */
public enum Dir {
/**
* left to right
*/
ltr,
/**
* right to left
*/
rtl
};
/** %MediaDesc (case-sensitive) */
public enum Media {
/**
* computer screen
*/
screen,
/**
* teletype/terminal
*/
tty,
/**
* television
*/
tv,
/**
* projection
*/
projection,
/**
* mobile device
*/
handheld,
/**
* print media
*/
print,
/**
* braille
*/
braille,
/**
* aural
*/
aural,
/**
* suitable all media
*/
all
};
/** %LinkTypes (case-insensitive) */
public enum LinkType {
/**
*
*/
alternate,
/**
*
*/
stylesheet,
/**
*
*/
start,
/**
*
*/
next,
/**
*
*/
prev,
/**
*
*/
contents,
/**
*
*/
index,
/**
*
*/
glossary,
/**
*
*/
copyright,
/**
*
*/
chapter,
/**
*
*/
section,
/**
*
*/
subsection,
/**
*
*/
appendix,
/**
*
*/
help,
/**
*
*/
bookmark
};
/** Values for form methods (case-insensitive) */
public enum Method {
/**
* HTTP GET
*/
get,
/**
* HTTP POST
*/
post
};
/** %InputType (case-insensitive) */
public enum InputType {
/**
*
*/
text,
/**
*
*/
password,
/**
*
*/
checkbox,
/**
*
*/
radio,
/**
*
*/
submit,
/**
*
*/
reset,
/**
*
*/
file,
/**
*
*/
hidden,
/**
*
*/
image,
/**
*
*/
button
};
/** Values for button types */
public enum ButtonType {
/**
*
*/
button,
/**
*
*/
submit,
/**
*
*/
reset
};
/** %Scope (case-insensitive) */
public enum Scope {
/**
*
*/
row,
/**
*
*/
col,
/**
*
*/
rowgroup,
/**
*
*/
colgroup
};
/**
* The element annotation for specifying element options other than
* attributes and allowed child elements
*/
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Element {
/**
* Whether the start tag is required for the element.
* @return true if start tag is required
*/
boolean startTag() default true;
/**
* Whether the end tag is required.
* @return true if end tag is required
*/
boolean endTag() default true;
}
/**
*
*/
public interface _ {}
/**
*
*/
public interface _Child extends _ {
/**
* Finish the current element.
* @return the parent element
*/
_ _();
}
/**
*
*/
public interface _Script {
/**
* Add a script element.
* @return a script element builder
*/
SCRIPT script();
/**
* Add a script element
* @param src uri of the script
* @return the current element builder
*/
_Script script(String src);
}
/**
*
*/
public interface _Object {
/**
* Add an object element.
* @return an object element builder
*/
OBJECT object();
/**
* Add an object element.
* @param selector as #id.class etc.
* @return an object element builder
*/
OBJECT object(String selector);
}
/** %head.misc */
public interface HeadMisc extends _Script, _Object {
/**
* Add a style element.
* @return a style element builder
*/
STYLE style();
/**
* Add a css style element.
* @param lines content of the style sheet
* @return the current element builder
*/
HeadMisc style(Object... lines);
/**
* Add a meta element.
* @return a meta element builder
*/
META meta();
/**
* Add a meta element.
* Shortcut of <code>meta().$name(name).$content(content)._();</code>
* @param name of the meta element
* @param content of the meta element
* @return the current element builder
*/
HeadMisc meta(String name, String content);
/**
* Add a meta element with http-equiv attribute.
* Shortcut of <br>
* <code>meta().$http_equiv(header).$content(content)._();</code>
* @param header for the http-equiv attribute
* @param content of the header
* @return the current element builder
*/
HeadMisc meta_http(String header, String content);
/**
* Add a link element.
* @return a link element builder
*/
LINK link();
/**
* Add a link element.
* Implementation should try to figure out type by the suffix of href.
* So <code>link("style.css");</code> is a shortcut of
* <code>link().$rel("stylesheet").$type("text/css").$href("style.css")._();
* </code>
* @param href of the link
* @return the current element builder
*/
HeadMisc link(String href);
}
/** %heading */
public interface Heading {
/**
* Add an H1 element.
* @return a new H1 element builder
*/
H1 h1();
/**
* Add a complete H1 element.
* @param cdata the content of the element
* @return the current element builder
*/
Heading h1(String cdata);
/**
* Add a complete H1 element
* @param selector the css selector in the form of (#id)?(.class)*
* @param cdata the content of the element
* @return the current element builder
*/
Heading h1(String selector, String cdata);
/**
* Add an H2 element.
* @return a new H2 element builder
*/
H2 h2();
/**
* Add a complete H2 element.
* @param cdata the content of the element
* @return the current element builder
*/
Heading h2(String cdata);
/**
* Add a complete H1 element
* @param selector the css selector in the form of (#id)?(.class)*
* @param cdata the content of the element
* @return the current element builder
*/
Heading h2(String selector, String cdata);
/**
* Add an H3 element.
* @return a new H3 element builder
*/
H3 h3();
/**
* Add a complete H3 element.
* @param cdata the content of the element
* @return the current element builder
*/
Heading h3(String cdata);
/**
* Add a complete H1 element
* @param selector the css selector in the form of (#id)?(.class)*
* @param cdata the content of the element
* @return the current element builder
*/
Heading h3(String selector, String cdata);
/**
* Add an H4 element.
* @return a new H4 element builder
*/
H4 h4();
/**
* Add a complete H4 element.
* @param cdata the content of the element
* @return the current element builder
*/
Heading h4(String cdata);
/**
* Add a complete H4 element
* @param selector the css selector in the form of (#id)?(.class)*
* @param cdata the content of the element
* @return the current element builder
*/
Heading h4(String selector, String cdata);
/**
* Add an H5 element.
* @return a new H5 element builder
*/
H5 h5();
/**
* Add a complete H5 element.
* @param cdata the content of the element
* @return the current element builder
*/
Heading h5(String cdata);
/**
* Add a complete H5 element
* @param selector the css selector in the form of (#id)?(.class)*
* @param cdata the content of the element
* @return the current element builder
*/
Heading h5(String selector, String cdata);
/**
* Add an H6 element.
* @return a new H6 element builder
*/
H6 h6();
/**
* Add a complete H6 element.
* @param cdata the content of the element
* @return the current element builder
*/
Heading h6(String cdata);
/**
* Add a complete H6 element.
* @param selector the css selector in the form of (#id)?(.class)*
* @param cdata the content of the element
* @return the current element builder
*/
Heading h6(String selector, String cdata);
}
/** %list */
public interface Listing {
/**
* Add a UL (unordered list) element.
* @return a new UL element builder
*/
UL ul();
/**
* Add a UL (unordered list) element.
* @param selector the css selector in the form of (#id)?(.class)*
* @return a new UL element builder
*/
UL ul(String selector);
/**
* Add a OL (ordered list) element.
* @return a new UL element builder
*/
OL ol();
/**
* Add a OL (ordered list) element.
* @param selector the css selector in the form of (#id)?(.class)*
* @return a new UL element builder
*/
OL ol(String selector);
}
/** % preformatted */
public interface Preformatted {
/**
* Add a PRE (preformatted) element.
* @return a new PRE element builder
*/
PRE pre();
/**
* Add a PRE (preformatted) element.
* @param selector the css selector in the form of (#id)?(.class)*
* @return a new PRE element builder
*/
PRE pre(String selector);
}
/** %coreattrs */
public interface CoreAttrs {
/** document-wide unique id
* @param id the id
* @return the current element builder
*/
CoreAttrs $id(String id);
/** space-separated list of classes
* @param cls the classes
* @return the current element builder
*/
CoreAttrs $class(String cls);
/** associated style info
* @param style the style
* @return the current element builder
*/
CoreAttrs $style(String style);
/** advisory title
* @param title the title
* @return the current element builder
*/
CoreAttrs $title(String title);
}
/** %i18n */
public interface I18nAttrs {
/** language code
* @param lang the code
* @return the current element builder
*/
I18nAttrs $lang(String lang);
/** direction for weak/neutral text
* @param dir the {@link Dir} value
* @return the current element builder
*/
I18nAttrs $dir(Dir dir);
}
/** %events */
public interface EventsAttrs {
/** a pointer button was clicked
* @param onclick the script
* @return the current element builder
*/
EventsAttrs $onclick(String onclick);
/** a pointer button was double clicked
* @param ondblclick the script
* @return the current element builder
*/
EventsAttrs $ondblclick(String ondblclick);
/** a pointer button was pressed down
* @param onmousedown the script
* @return the current element builder
*/
EventsAttrs $onmousedown(String onmousedown);
/** a pointer button was released
* @param onmouseup the script
* @return the current element builder
*/
EventsAttrs $onmouseup(String onmouseup);
/** a pointer was moved onto
* @param onmouseover the script
* @return the current element builder
*/
EventsAttrs $onmouseover(String onmouseover);
/** a pointer was moved within
* @param onmousemove the script
* @return the current element builder
*/
EventsAttrs $onmousemove(String onmousemove);
/** a pointer was moved away
* @param onmouseout the script
* @return the current element builder
*/
EventsAttrs $onmouseout(String onmouseout);
/** a key was pressed and released
* @param onkeypress the script
* @return the current element builder
*/
EventsAttrs $onkeypress(String onkeypress);
/** a key was pressed down
* @param onkeydown the script
* @return the current element builder
*/
EventsAttrs $onkeydown(String onkeydown);
/** a key was released
* @param onkeyup the script
* @return the current element builder
*/
EventsAttrs $onkeyup(String onkeyup);
}
/** %attrs */
public interface Attrs extends CoreAttrs, I18nAttrs, EventsAttrs {
}
/** Part of %pre.exclusion */
public interface _FontSize extends _Child {
// BIG omitted cf. http://www.w3.org/TR/html5-diff/
/**
* Add a SMALL (small print) element
* @return a new SMALL element builder
*/
SMALL small();
/**
* Add a complete small (small print) element.
* Shortcut of: small()._(cdata)._();
* @param cdata the content of the element
* @return the current element builder
*/
_FontSize small(String cdata);
/**
* Add a complete small (small print) element.
* Shortcut of: small().$id(id).$class(class)._(cdata)._();
* @param selector css selector in the form of (#id)?(.class)*
* @param cdata the content of the element
* @return the current element builder
*/
_FontSize small(String selector, String cdata);
}
/** %fontstyle -(%pre.exclusion) */
public interface _FontStyle extends _Child {
// TT omitted
/**
* Add an I (italic, alt voice/mood) element.
* @return the new I element builder
*/
I i();
/**
* Add a complete I (italic, alt voice/mood) element.
* @param cdata the content of the element
* @return the current element builder
*/
_FontStyle i(String cdata);
/**
* Add a complete I (italic, alt voice/mood) element.
* @param selector the css selector in the form of (#id)?(.class)*
* @param cdata the content of the element
* @return the current element builder
*/
_FontStyle i(String selector, String cdata);
/**
* Add a new B (bold/important) element.
* @return a new B element builder
*/
B b();
/**
* Add a complete B (bold/important) element.
* @param cdata the content
* @return the current element builder
*/
_FontStyle b(String cdata);
/**
* Add a complete B (bold/important) element.
* @param selector the css select (#id)?(.class)*
* @param cdata the content
* @return the current element builder
*/
_FontStyle b(String selector, String cdata);
}
/** %fontstyle */
public interface FontStyle extends _FontStyle, _FontSize {
}
/** %phrase */
public interface Phrase extends _Child {
/**
* Add an EM (emphasized) element.
* @return a new EM element builder
*/
EM em();
/**
* Add an EM (emphasized) element.
* @param cdata the content
* @return the current element builder
*/
Phrase em(String cdata);
/**
* Add an EM (emphasized) element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
Phrase em(String selector, String cdata);
/**
* Add a STRONG (important) element.
* @return a new STRONG element builder
*/
STRONG strong();
/**
* Add a complete STRONG (important) element.
* @param cdata the content
* @return the current element builder
*/
Phrase strong(String cdata);
/**
* Add a complete STRONG (important) element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
Phrase strong(String selector, String cdata);
/**
* Add a DFN element.
* @return a new DFN element builder
*/
DFN dfn();
/**
* Add a complete DFN element.
* @param cdata the content
* @return the current element builder
*/
Phrase dfn(String cdata);
/**
* Add a complete DFN element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
Phrase dfn(String selector, String cdata);
/**
* Add a CODE (code fragment) element.
* @return a new CODE element builder
*/
CODE code();
/**
* Add a complete CODE element.
* @param cdata the code
* @return the current element builder
*/
Phrase code(String cdata);
/**
* Add a complete CODE element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the code
* @return the current element builder
*/
Phrase code(String selector, String cdata);
/**
* Add a SAMP (sample) element.
* @return a new SAMP element builder
*/
SAMP samp();
/**
* Add a complete SAMP (sample) element.
* @param cdata the content
* @return the current element builder
*/
Phrase samp(String cdata);
/**
* Add a complete SAMP (sample) element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
Phrase samp(String selector, String cdata);
/**
* Add a KBD (keyboard) element.
* @return a new KBD element builder
*/
KBD kbd();
/**
* Add a KBD (keyboard) element.
* @param cdata the content
* @return the current element builder
*/
Phrase kbd(String cdata);
/**
* Add a KBD (keyboard) element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
Phrase kbd(String selector, String cdata);
/**
* Add a VAR (variable) element.
* @return a new VAR element builder
*/
VAR var();
/**
* Add a VAR (variable) element.
* @param cdata the content
* @return the current element builder
*/
Phrase var(String cdata);
/**
* Add a VAR (variable) element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
Phrase var(String selector, String cdata);
/**
* Add a CITE element.
* @return a new CITE element builder
*/
CITE cite();
/**
* Add a CITE element.
* @param cdata the content
* @return the current element builder
*/
Phrase cite(String cdata);
/**
* Add a CITE element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
Phrase cite(String selector, String cdata);
/**
* Add an ABBR (abbreviation) element.
* @return a new ABBR element builder
*/
ABBR abbr();
/**
* Add a ABBR (abbreviation) element.
* @param cdata the content
* @return the current element builder
*/
Phrase abbr(String cdata);
/**
* Add a ABBR (abbreviation) element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
Phrase abbr(String selector, String cdata);
// ACRONYM omitted, use ABBR
}
/** Part of %pre.exclusion */
public interface _ImgObject extends _Object, _Child {
/**
* Add a IMG (image) element.
* @return a new IMG element builder
*/
IMG img();
/**
* Add a IMG (image) element.
* @param src the source URL of the image
* @return the current element builder
*/
_ImgObject img(String src);
}
/** Part of %pre.exclusion */
public interface _SubSup extends _Child {
/**
* Add a SUB (subscript) element.
* @return a new SUB element builder
*/
SUB sub();
/**
* Add a complete SUB (subscript) element.
* @param cdata the content
* @return the current element builder
*/
_SubSup sub(String cdata);
/**
* Add a complete SUB (subscript) element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
_SubSup sub(String selector, String cdata);
/**
* Add a SUP (superscript) element.
* @return a new SUP element builder
*/
SUP sup();
/**
* Add a SUP (superscript) element.
* @param cdata the content
* @return the current element builder
*/
_SubSup sup(String cdata);
/**
* Add a SUP (superscript) element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
_SubSup sup(String selector, String cdata);
}
/**
*
*/
public interface _Anchor {
/**
* Add a A (anchor) element.
* @return a new A element builder
*/
A a();
/**
* Add a A (anchor) element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new A element builder
*/
A a(String selector);
/** Shortcut for <code>a().$href(href)._(anchorText)._();</code>
* @param href the URI
* @param anchorText for the URI
* @return the current element builder
*/
_Anchor a(String href, String anchorText);
/** Shortcut for <code>a(selector).$href(href)._(anchorText)._();</code>
* @param selector in the form of (#id)?(.class)*
* @param href the URI
* @param anchorText for the URI
* @return the current element builder
*/
_Anchor a(String selector, String href, String anchorText);
}
/**
* INS and DEL are unusual for HTML
* "in that they may serve as either block-level or inline elements
* (but not both)".
* <br>cf. http://www.w3.org/TR/html4/struct/text.html#h-9.4
* <br>cf. http://www.w3.org/TR/html5/edits.html#edits
*/
public interface _InsDel {
/**
* Add an INS (insert) element.
* @return an INS element builder
*/
INS ins();
/**
* Add a complete INS element.
* @param cdata inserted data
* @return the current element builder
*/
_InsDel ins(String cdata);
/**
* Add a DEL (delete) element.
* @return a DEL element builder
*/
DEL del();
/**
* Add a complete DEL element.
* @param cdata deleted data
* @return the current element builder
*/
_InsDel del(String cdata);
}
/** %special -(A|%pre.exclusion) */
public interface _Special extends _Script, _InsDel {
/**
* Add a BR (line break) element.
* @return a new BR element builder
*/
BR br();
/**
* Add a BR (line break) element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return the current element builder
*/
_Special br(String selector);
/**
* Add a MAP element.
* @return a new MAP element builder
*/
MAP map();
/**
* Add a MAP element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new MAP element builder
*/
MAP map(String selector);
/**
* Add a Q (inline quotation) element.
* @return a q (inline quotation) element builder
*/
Q q();
/**
* Add a complete Q element.
* @param cdata the content
* @return the current element builder
*/
_Special q(String cdata);
/**
* Add a Q element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
_Special q(String selector, String cdata);
/**
* Add a SPAN element.
* @return a new SPAN element builder
*/
SPAN span();
/**
* Add a SPAN element.
* @param cdata the content
* @return the current element builder
*/
_Special span(String cdata);
/**
* Add a SPAN element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
_Special span(String selector, String cdata);
/**
* Add a bdo (bidirectional override) element
* @return a bdo element builder
*/
BDO bdo();
/**
* Add a bdo (bidirectional override) element
* @param dir the direction of the text
* @param cdata the text
* @return the current element builder
*/
_Special bdo(Dir dir, String cdata);
}
/** %special */
public interface Special extends _Anchor, _ImgObject, _SubSup, _Special {
}
/**
*
*/
public interface _Label extends _Child {
/**
* Add a LABEL element.
* @return a new LABEL element builder
*/
LABEL label();
/**
* Add a LABEL element.
* Shortcut of <code>label().$for(forId)._(cdata)._();</code>
* @param forId the for attribute
* @param cdata the content
* @return the current element builder
*/
_Label label(String forId, String cdata);
}
/**
*
*/
public interface _FormCtrl {
/**
* Add a INPUT element.
* @return a new INPUT element builder
*/
INPUT input();
/**
* Add a INPUT element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new INPUT element builder
*/
INPUT input(String selector);
/**
* Add a SELECT element.
* @return a new SELECT element builder
*/
SELECT select();
/**
* Add a SELECT element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new SELECT element builder
*/
SELECT select(String selector);
/**
* Add a TEXTAREA element.
* @return a new TEXTAREA element builder
*/
TEXTAREA textarea();
/**
* Add a TEXTAREA element.
* @param selector
* @return a new TEXTAREA element builder
*/
TEXTAREA textarea(String selector);
/**
* Add a complete TEXTAREA element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
_FormCtrl textarea(String selector, String cdata);
/**
* Add a BUTTON element.
* @return a new BUTTON element builder
*/
BUTTON button();
/**
* Add a BUTTON element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new BUTTON element builder
*/
BUTTON button(String selector);
/**
* Add a complete BUTTON element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
_FormCtrl button(String selector, String cdata);
}
/** %formctrl */
public interface FormCtrl extends _Label, _FormCtrl {
}
/**
*
*/
public interface _Content extends _Child {
/**
* Content of the element
* @param lines of content
* @return the current element builder
*/
_Content _(Object... lines);
}
/**
*
*/
public interface _RawContent extends _Child {
/**
* Raw (no need to be HTML escaped) content
* @param lines of content
* @return the current element builder
*/
_RawContent _r(Object... lines);
}
/** #PCDATA */
public interface PCData extends _Content, _RawContent {
}
/** %inline */
public interface Inline extends PCData, FontStyle, Phrase, Special, FormCtrl {
}
/**
*
*/
public interface I extends Attrs, Inline, _Child {
}
/**
*
*/
public interface B extends Attrs, Inline, _Child {
}
/**
*
*/
public interface SMALL extends Attrs, Inline, _Child {
}
/**
*
*/
public interface EM extends Attrs, Inline, _Child {
}
/**
*
*/
public interface STRONG extends Attrs, Inline, _Child {
}
/**
*
*/
public interface DFN extends Attrs, Inline, _Child {
}
/**
*
*/
public interface CODE extends Attrs, Inline, _Child {
}
/**
*
*/
public interface SAMP extends Attrs, Inline, _Child {
}
/**
*
*/
public interface KBD extends Attrs, Inline, _Child {
}
/**
*
*/
public interface VAR extends Attrs, Inline, _Child {
}
/**
*
*/
public interface CITE extends Attrs, Inline, _Child {
}
/**
*
*/
public interface ABBR extends Attrs, Inline, _Child {
}
/**
*
*/
public interface ACRONYM extends Attrs, Inline, _Child {
}
/**
*
*/
public interface SUB extends Attrs, Inline, _Child {
}
/**
*
*/
public interface SUP extends Attrs, Inline, _Child {
}
/**
*
*/
public interface SPAN extends Attrs, Inline, _Child {
}
/** The dir attribute is required for the BDO element */
public interface BDO extends CoreAttrs, I18nAttrs, Inline, _Child {
}
/**
*
*/
@Element(endTag=false)
public interface BR extends CoreAttrs, _Child {
}
/**
*
*/
public interface _Form {
/**
* Add a FORM element.
* @return a new FORM element builder
*/
FORM form();
/**
* Add a FORM element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new FORM element builder
*/
FORM form(String selector);
}
/**
*
*/
public interface _FieldSet {
/**
* Add a FIELDSET element.
* @return a new FIELDSET element builder
*/
FIELDSET fieldset();
/**
* Add a FIELDSET element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new FIELDSET element builder
*/
FIELDSET fieldset(String selector);
}
/** %block -(FORM|FIELDSET) */
public interface _Block extends Heading, Listing, Preformatted {
/**
* Add a P (paragraph) element.
* @return a new P element builder
*/
P p();
/**
* Add a P (paragraph) element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new P element builder
*/
P p(String selector);
/**
* Add a DL (description list) element.
* @return a new DL element builder
*/
DL dl();
/**
* Add a DL element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new DL element builder
*/
DL dl(String selector);
/**
* Add a DIV element.
* @return a new DIV element builder
*/
DIV div();
/**
* Add a DIV element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new DIV element builder
*/
DIV div(String selector);
// NOSCRIPT omitted
// cf. http://www.w3.org/html/wg/tracker/issues/117
/**
* Add a BLOCKQUOTE element.
* @return a new BLOCKQUOTE element builder
*/
BLOCKQUOTE blockquote();
/**
* Alias of blockquote
* @return a new BLOCKQUOTE element builder
*/
BLOCKQUOTE bq();
/**
* Add a HR (horizontal rule) element.
* @return a new HR element builder
*/
HR hr();
/**
* Add a HR element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new HR element builder
*/
_Block hr(String selector);
/**
* Add a TABLE element.
* @return a new TABLE element builder
*/
TABLE table();
/**
* Add a TABLE element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new TABLE element builder
*/
TABLE table(String selector);
/**
* Add a ADDRESS element.
* @return a new ADDRESS element builder
*/
ADDRESS address();
/**
* Add a complete ADDRESS element.
* @param cdata the content
* @return the current element builder
*/
_Block address(String cdata);
/**
* Embed a sub-view.
* @param cls the sub-view class
* @return the current element builder
*/
_Block _(Class<? extends SubView> cls);
}
/** %block */
public interface Block extends _Block, _Form, _FieldSet {
}
/** %flow */
public interface Flow extends Block, Inline {
}
/**
*
*/
public interface _Body extends Block, _Script, _InsDel {
}
/**
*
*/
public interface BODY extends Attrs, _Body, _Child {
/**
* The document has been loaded.
* @param script to invoke
* @return the current element builder
*/
BODY $onload(String script);
/**
* The document has been removed
* @param script to invoke
* @return the current element builder
*/
BODY $onunload(String script);
}
/**
*
*/
public interface ADDRESS extends Attrs, Inline, _Child {
}
/**
*
*/
public interface DIV extends Attrs, Flow, _Child {
}
/**
*
*/
public interface A extends Attrs, _Child, /* %inline -(A) */
PCData, FontStyle, Phrase, _ImgObject, _Special,
_SubSup, FormCtrl {
// $charset omitted.
/** advisory content type
* @param cdata the content-type
* @return the current element builder
*/
A $type(String cdata);
// $name omitted. use id instead.
/** URI for linked resource
* @param uri the URI
* @return the current element builder
*/
A $href(String uri);
/** language code
* @param cdata the code
* @return the current element builder
*/
A $hreflang(String cdata);
/** forward link types
* @param linkTypes the types
* @return the current element builder
*/
A $rel(EnumSet<LinkType> linkTypes);
/**
* forward link types
* @param linkTypes space-separated list of link types
* @return the current element builder.
*/
A $rel(String linkTypes);
// $rev omitted. Instead of rev="made", use rel="author"
/** accessibility key character
* @param cdata the key
* @return the current element builder
*/
A $accesskey(String cdata);
// $shape and coords omitted. use area instead of a for image maps.
/** position in tabbing order
* @param index the index
* @return the current element builder
*/
A $tabindex(int index);
/** the element got the focus
* @param script to invoke
* @return the current element builder
*/
A $onfocus(String script);
/** the element lost the focus
* @param script to invoke
* @return the current element builder
*/
A $onblur(String script);
}
/**
*
*/
public interface MAP extends Attrs, Block, _Child {
/**
* Add a AREA element.
* @return a new AREA element builder
*/
AREA area();
/**
* Add a AREA element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new AREA element builder
*/
AREA area(String selector);
/** for reference by usemap
* @param name of the map
* @return the current element builder
*/
MAP $name(String name);
}
/**
*
*/
@Element(endTag=false)
public interface AREA extends Attrs, _Child {
/** controls interpretation of coords
* @param shape of the area
* @return the current element builder
*/
AREA $shape(Shape shape);
/** comma-separated list of lengths
* @param cdata coords of the area
* @return the current element builder
*/
AREA $coords(String cdata);
/** URI for linked resource
* @param uri the URI
* @return the current element builder
*/
AREA $href(String uri);
// $nohref omitted./
/** short description
* @param desc the description
* @return the current element builder
*/
AREA $alt(String desc);
/** position in tabbing order
* @param index of the order
* @return the current element builder
*/
AREA $tabindex(int index);
/** accessibility key character
* @param cdata the key
* @return the current element builder
*/
AREA $accesskey(String cdata);
/** the element got the focus
* @param script to invoke
* @return the current element builder
*/
AREA $onfocus(String script);
/** the element lost the focus
* @param script to invoke
* @return the current element builder
*/
AREA $onblur(String script);
}
/**
*
*/
@Element(endTag=false)
public interface LINK extends Attrs, _Child {
// $charset omitted
/** URI for linked resource
* @param uri the URI
* @return the current element builder
*/
LINK $href(String uri);
/** language code
* @param cdata the code
* @return the current element builder
*/
LINK $hreflang(String cdata);
/** advisory content type
* @param cdata the type
* @return the current element builder
*/
LINK $type(String cdata);
/** forward link types
* @param linkTypes the types
* @return the current element builder
*/
LINK $rel(EnumSet<LinkType> linkTypes);
/**
* forward link types.
* @param linkTypes space-separated link types
* @return the current element builder
*/
LINK $rel(String linkTypes);
// $rev omitted. Instead of rev="made", use rel="author"
/** for rendering on these media
* @param mediaTypes the media types
* @return the current element builder
*/
LINK $media(EnumSet<Media> mediaTypes);
/**
* for rendering on these media.
* @param mediaTypes comma-separated list of media
* @return the current element builder
*/
LINK $media(String mediaTypes);
}
/**
*
*/
@Element(endTag=false)
public interface IMG extends Attrs, _Child {
/** URI of image to embed
* @param uri the URI
* @return the current element builder
*/
IMG $src(String uri);
/** short description
* @param desc the description
* @return the current element builder
*/
IMG $alt(String desc);
// $longdesc omitted. use <a...><img..></a> instead
// $name omitted. use id instead.
/** override height
* @param pixels the height
* @return the current element builder
*/
IMG $height(int pixels);
/**
* override height
* @param cdata the height (can use %, * etc.)
* @return the current element builder
*/
IMG $height(String cdata);
/** override width
* @param pixels the width
* @return the current element builder
*/
IMG $width(int pixels);
/**
* override width
* @param cdata the width (can use %, * etc.)
* @return the current element builder
*/
IMG $width(String cdata);
/** use client-side image map
* @param uri the URI
* @return the current element builder
*/
IMG $usemap(String uri);
/** use server-side image map
* @return the current element builder
*/
IMG $ismap();
}
/**
*
*/
public interface _Param extends _Child {
/**
* Add a PARAM (parameter) element.
* @return a new PARAM element builder
*/
PARAM param();
/**
* Add a PARAM element.
* Shortcut of <code>param().$name(name).$value(value)._();</code>
* @param name of the value
* @param value the value
* @return the current element builder
*/
_Param param(String name, String value);
}
/**
*
*/
public interface OBJECT extends Attrs, _Param, Flow, _Child {
// $declare omitted. repeat element completely
// $archive, classid, codebase, codetype ommited. use data and type
/** reference to object's data
* @param uri the URI
* @return the current element builder
*/
OBJECT $data(String uri);
/** content type for data
* @param contentType the type
* @return the current element builder
*/
OBJECT $type(String contentType);
// $standby omitted. fix the resource instead.
/** override height
* @param pixels the height
* @return the current element builder
*/
OBJECT $height(int pixels);
/**
* override height
* @param length the height (can use %, *)
* @return the current element builder
*/
OBJECT $height(String length);
/** override width
* @param pixels the width
* @return the current element builder
*/
OBJECT $width(int pixels);
/**
* override width
* @param length the height (can use %, *)
* @return the current element builder
*/
OBJECT $width(String length);
/** use client-side image map
* @param uri the URI/name of the map
* @return the current element builder
*/
OBJECT $usemap(String uri);
/** submit as part of form
* @param cdata the name of the object
* @return the current element builder
*/
OBJECT $name(String cdata);
/** position in tabbing order
* @param index of the order
* @return the current element builder
*/
OBJECT $tabindex(int index);
}
/**
*
*/
@Element(endTag=false)
public interface PARAM {
/** document-wide unique id
* @param cdata the id
* @return the current element builder
*/
PARAM $id(String cdata);
/** property name. Required.
* @param cdata the name
* @return the current element builder
*/
PARAM $name(String cdata);
/** property value
* @param cdata the value
* @return the current element builder
*/
PARAM $value(String cdata);
// $type and valuetype omitted
}
/**
*
*/
@Element(endTag=false)
public interface HR extends Attrs, _Child {
}
/**
*
*/
@Element(endTag=false)
public interface P extends Attrs, Inline, _Child {
}
/**
*
*/
public interface H1 extends Attrs, Inline, _Child {
}
/**
*
*/
public interface H2 extends Attrs, Inline, _Child {
}
/**
*
*/
public interface H3 extends Attrs, Inline, _Child {
}
/**
*
*/
public interface H4 extends Attrs, Inline, _Child {
}
/**
*
*/
public interface H5 extends Attrs, Inline, _Child {
}
/**
*
*/
public interface H6 extends Attrs, Inline, _Child {
}
/**
*
*/
public interface PRE extends Attrs, _Child, /* (%inline;)* -(%pre.exclusion) */
PCData, _FontStyle, Phrase, _Anchor, _Special,
FormCtrl {
}
/**
*
*/
public interface Q extends Attrs, Inline, _Child {
/** URI for source document or msg
* @param uri the URI
* @return the current element builder
*/
Q $cite(String uri);
}
/**
*
*/
public interface BLOCKQUOTE extends Attrs, Block, _Script, _Child {
/** URI for source document or msg
* @param uri the URI
* @return the current element builder
*/
BLOCKQUOTE $cite(String uri);
}
/**
* @see _InsDel INS/DEL quirks.
*/
public interface INS extends Attrs, Flow, _Child {
/** info on reason for change
* @param uri
* @return the current element builder
*/
INS $cite(String uri);
/** date and time of change
* @param datetime
* @return the current element builder
*/
INS $datetime(String datetime);
}
/**
* @see _InsDel INS/DEL quirks.
*/
public interface DEL extends Attrs, Flow, _Child {
/** info on reason for change
* @param uri the info URI
* @return the current element builder
*/
DEL $cite(String uri);
/** date and time of change
* @param datetime the time
* @return the current element builder
*/
DEL $datetime(String datetime);
}
/**
*
*/
public interface _Dl extends _Child {
/**
* Add a DT (term of the item) element.
* @return a new DT element builder
*/
DT dt();
/**
* Add a complete DT element.
* @param cdata the content
* @return the current element builder
*/
_Dl dt(String cdata);
/**
* Add a DD (definition/description) element.
* @return a new DD element builder
*/
DD dd();
/**
* Add a complete DD element.
* @param cdata the content
* @return the current element builder
*/
_Dl dd(String cdata);
}
/**
*
*/
public interface DL extends Attrs, _Dl, _Child {
}
/**
*
*/
@Element(endTag=false)
public interface DT extends Attrs, Inline, _Child {
}
/**
*
*/
@Element(endTag=false)
public interface DD extends Attrs, Flow, _Child {
}
/**
*
*/
public interface _Li extends _Child {
/**
* Add a LI (list item) element.
* @return a new LI element builder
*/
LI li();
/**
* Add a LI element.
* @param cdata the content
* @return the current element builder
*/
_Li li(String cdata);
}
/**
*
*/
public interface OL extends Attrs, _Li, _Child {
}
/**
*
*/
public interface UL extends Attrs, _Li, _Child {
}
/**
*
*/
@Element(endTag=false)
public interface LI extends Attrs, Flow, _Child {
}
/**
*
*/
public interface FORM extends Attrs, _Child, /* (%block;|SCRIPT)+ -(FORM) */
_Script, _Block, _FieldSet {
/** server-side form handler
* @param uri
* @return the current element builder
*/
FORM $action(String uri);
/** HTTP method used to submit the form
* @param method
* @return the current element builder
*/
FORM $method(Method method);
/**
* contentype for "POST" method.
* The default is "application/x-www-form-urlencoded".
* Use "multipart/form-data" for input type=file
* @param enctype
* @return the current element builder
*/
FORM $enctype(String enctype);
/** list of MIME types for file upload
* @param cdata
* @return the current element builder
*/
FORM $accept(String cdata);
/** name of form for scripting
* @param cdata
* @return the current element builder
*/
FORM $name(String cdata);
/** the form was submitted
* @param script
* @return the current element builder
*/
FORM $onsubmit(String script);
/** the form was reset
* @param script
* @return the current element builder
*/
FORM $onreset(String script);
/** (space and/or comma separated) list of supported charsets
* @param cdata
* @return the current element builder
*/
FORM $accept_charset(String cdata);
}
/**
*
*/
public interface LABEL extends Attrs, _Child, /* (%inline;)* -(LABEL) */
PCData, FontStyle, Phrase, Special, _FormCtrl {
/** matches field ID value
* @param cdata
* @return the current element builder
*/
LABEL $for(String cdata);
/** accessibility key character
* @param cdata
* @return the current element builder
*/
LABEL $accesskey(String cdata);
/** the element got the focus
* @param script
* @return the current element builder
*/
LABEL $onfocus(String script);
/** the element lost the focus
* @param script
* @return the current element builder
*/
LABEL $onblur(String script);
}
/**
*
*/
@Element(endTag=false)
public interface INPUT extends Attrs, _Child {
/** what kind of widget is needed. default is "text".
* @param inputType
* @return the current element builder
*/
INPUT $type(InputType inputType);
/** submit as part of form
* @param cdata
* @return the current element builder
*/
INPUT $name(String cdata);
/** Specify for radio buttons and checkboxes
* @param cdata
* @return the current element builder
*/
INPUT $value(String cdata);
/** for radio buttons and check boxes
* @return the current element builder
*/
INPUT $checked();
/** unavailable in this context
* @return the current element builder
*/
INPUT $disabled();
/** for text and passwd
* @return the current element builder
*/
INPUT $readonly();
/** specific to each type of field
* @param cdata
* @return the current element builder
*/
INPUT $size(String cdata);
/** max chars for text fields
* @param length
* @return the current element builder
*/
INPUT $maxlength(int length);
/** for fields with images
* @param uri
* @return the current element builder
*/
INPUT $src(String uri);
/** short description
* @param cdata
* @return the current element builder
*/
INPUT $alt(String cdata);
// $usemap omitted. use img instead of input for image maps.
/** use server-side image map
* @return the current element builder
*/
INPUT $ismap();
/** position in tabbing order
* @param index
* @return the current element builder
*/
INPUT $tabindex(int index);
/** accessibility key character
* @param cdata
* @return the current element builder
*/
INPUT $accesskey(String cdata);
/** the element got the focus
* @param script
* @return the current element builder
*/
INPUT $onfocus(String script);
/** the element lost the focus
* @param script
* @return the current element builder
*/
INPUT $onblur(String script);
/** some text was selected
* @param script
* @return the current element builder
*/
INPUT $onselect(String script);
/** the element value was changed
* @param script
* @return the current element builder
*/
INPUT $onchange(String script);
/** list of MIME types for file upload (csv)
* @param contentTypes
* @return the current element builder
*/
INPUT $accept(String contentTypes);
}
/**
*
*/
public interface _Option extends _Child {
/**
* Add a OPTION element.
* @return a new OPTION element builder
*/
OPTION option();
/**
* Add a complete OPTION element.
* @param cdata the content
* @return the current element builder
*/
_Option option(String cdata);
}
/**
*
*/
public interface SELECT extends Attrs, _Option, _Child {
/**
* Add a OPTGROUP element.
* @return a new OPTGROUP element builder
*/
OPTGROUP optgroup();
/** field name
* @param cdata
* @return the current element builder
*/
SELECT $name(String cdata);
/** rows visible
* @param rows
* @return the current element builder
*/
SELECT $size(int rows);
/** default is single selection
* @return the current element builder
*/
SELECT $multiple();
/** unavailable in this context
* @return the current element builder
*/
SELECT $disabled();
/** position in tabbing order
* @param index
* @return the current element builder
*/
SELECT $tabindex(int index);
/** the element got the focus
* @param script
* @return the current element builder
*/
SELECT $onfocus(String script);
/** the element lost the focus
* @param script
* @return the current element builder
*/
SELECT $onblur(String script);
/** the element value was changed
* @param script
* @return the current element builder
*/
SELECT $onchange(String script);
}
/**
*
*/
public interface OPTGROUP extends Attrs, _Option, _Child {
/** unavailable in this context
* @return the current element builder
*/
OPTGROUP $disabled();
/** for use in hierarchical menus
* @param cdata
* @return the current element builder
*/
OPTGROUP $label(String cdata);
}
/**
*
*/
@Element(endTag=false)
public interface OPTION extends Attrs, PCData, _Child {
/** currently selected option
* @return the current element builder
*/
OPTION $selected();
/** unavailable in this context
* @return the current element builder
*/
OPTION $disabled();
/** for use in hierarchical menus
* @param cdata
* @return the current element builder
*/
OPTION $label(String cdata);
/** defaults to element content
* @param cdata
* @return the current element builder
*/
OPTION $value(String cdata);
}
/**
*
*/
public interface TEXTAREA extends Attrs, PCData, _Child {
/** variable name for the text
* @param cdata
* @return the current element builder
*/
TEXTAREA $name(String cdata);
/** visible rows
* @param rows
* @return the current element builder
*/
TEXTAREA $rows(int rows);
/** visible columns
* @param cols
* @return the current element builder
*/
TEXTAREA $cols(int cols);
/** unavailable in this context
* @return the current element builder
*/
TEXTAREA $disabled();
/** text is readonly
* @return the current element builder
*/
TEXTAREA $readonly();
/** position in tabbing order
* @param index
* @return the current element builder
*/
TEXTAREA $tabindex(int index);
/** accessibility key character
* @param cdata
* @return the current element builder
*/
TEXTAREA $accesskey(String cdata);
/** the element got the focus
* @param script
* @return the current element builder
*/
TEXTAREA $onfocus(String script);
/** the element lost the focus
* @param script
* @return the current element builder
*/
TEXTAREA $onblur(String script);
/** some text was selected
* @param script
* @return the current element builder
*/
TEXTAREA $onselect(String script);
/** the element value was changed
* @param script
* @return the current element builder
*/
TEXTAREA $onchange(String script);
}
/**
*
*/
public interface _Legend extends _Child {
/**
* Add a LEGEND element.
* @return a new LEGEND element builder
*/
LEGEND legend();
/**
* Add a LEGEND element.
* @param cdata
* @return the current element builder
*/
_Legend legend(String cdata);
}
/**
*
*/
public interface FIELDSET extends Attrs, _Legend, PCData, Flow, _Child {
}
/**
*
*/
public interface LEGEND extends Attrs, Inline, _Child {
/** accessibility key character
* @param cdata
* @return the current element builder
*/
LEGEND $accesskey(String cdata);
}
/**
*
*/
public interface BUTTON extends /* (%flow;)* -(A|%formctrl|FORM|FIELDSET) */
_Block, PCData, FontStyle, Phrase, _Special, _ImgObject, _SubSup, Attrs {
/** name of the value
* @param cdata
* @return the current element builder
*/
BUTTON $name(String cdata);
/** sent to server when submitted
* @param cdata
* @return the current element builder
*/
BUTTON $value(String cdata);
/** for use as form button
* @param type
* @return the current element builder
*/
BUTTON $type(ButtonType type);
/** unavailable in this context
* @return the current element builder
*/
BUTTON $disabled();
/** position in tabbing order
* @param index
* @return the current element builder
*/
BUTTON $tabindex(int index);
/** accessibility key character
* @param cdata
* @return the current element builder
*/
BUTTON $accesskey(String cdata);
/** the element got the focus
* @param script
* @return the current element builder
*/
BUTTON $onfocus(String script);
/** the element lost the focus
* @param script
* @return the current element builder
*/
BUTTON $onblur(String script);
}
/**
*
*/
public interface _TableRow {
/**
* Add a TR (table row) element.
* @return a new TR element builder
*/
TR tr();
/**
* Add a TR element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new TR element builder
*/
TR tr(String selector);
}
/**
*
*/
public interface _TableCol extends _Child {
/**
* Add a COL element.
* @return a new COL element builder
*/
COL col();
/**
* Add a COL element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return the current element builder
*/
_TableCol col(String selector);
}
/**
*
*/
public interface _Table extends _TableRow, _TableCol {
/**
* Add a CAPTION element.
* @return a new CAPTION element builder
*/
CAPTION caption();
/**
* Add a CAPTION element.
* @param cdata
* @return the current element builder
*/
_Table caption(String cdata);
/**
* Add a COLGROPU element.
* @return a new COLGROUP element builder
*/
COLGROUP colgroup();
/**
* Add a THEAD element.
* @return a new THEAD element builder
*/
THEAD thead();
/**
* Add a THEAD element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new THEAD element builder
*/
THEAD thead(String selector);
/**
* Add a TFOOT element.
* @return a new TFOOT element builder
*/
TFOOT tfoot();
/**
* Add a TFOOT element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new TFOOT element builder
*/
TFOOT tfoot(String selector);
/**
* Add a tbody (table body) element.
* Must be after thead/tfoot and no tr at the same level.
* @return a new tbody element builder
*/
TBODY tbody();
/**
* Add a TBODY element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new TBODY element builder
*/
TBODY tbody(String selector);
// $summary, width, border, frame, rules, cellpadding, cellspacing omitted
// use css instead
}
/**
* TBODY should be used after THEAD/TFOOT, iff there're no TABLE.TR elements.
*/
public interface TABLE extends Attrs, _Table, _Child {
}
/**
*
*/
public interface CAPTION extends Attrs, Inline, _Child {
}
/**
*
*/
@Element(endTag=false)
public interface THEAD extends Attrs, _TableRow, _Child {
}
/**
*
*/
@Element(endTag=false)
public interface TFOOT extends Attrs, _TableRow, _Child {
}
/**
*
*/
public interface TBODY extends Attrs, _TableRow, _Child {
}
/**
*
*/
@Element(endTag=false)
public interface COLGROUP extends Attrs, _TableCol, _Child {
/** default number of columns in group. default: 1
* @param cols
* @return the current element builder
*/
COLGROUP $span(int cols);
// $width omitted. use css instead.
}
/**
*
*/
@Element(endTag=false)
public interface COL extends Attrs, _Child {
/** COL attributes affect N columns. default: 1
* @param cols
* @return the current element builder
*/
COL $span(int cols);
// $width omitted. use css instead.
}
/**
*
*/
public interface _Tr extends _Child {
/**
* Add a TH element.
* @return a new TH element builder
*/
TH th();
/**
* Add a complete TH element.
* @param cdata the content
* @return the current element builder
*/
_Tr th(String cdata);
/**
* Add a TH element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
_Tr th(String selector, String cdata);
/**
* Add a TD element.
* @return a new TD element builder
*/
TD td();
/**
* Add a TD element.
* @param cdata the content
* @return the current element builder
*/
_Tr td(String cdata);
/**
* Add a TD element.
* @param selector the css selector in the form of (#id)*(.class)*
* @param cdata the content
* @return the current element builder
*/
_Tr td(String selector, String cdata);
}
/**
*
*/
@Element(endTag=false)
public interface TR extends Attrs, _Tr, _Child {
}
/**
*
*/
public interface _Cell extends Attrs, Flow, _Child {
// $abbr omited. begin cell text with terse text instead.
// use $title for elaberation, when appropriate.
// $axis omitted. use scope.
/** space-separated list of id's for header cells
* @param cdata
* @return the current element builder
*/
_Cell $headers(String cdata);
/** scope covered by header cells
* @param scope
* @return the current element builder
*/
_Cell $scope(Scope scope);
/** number of rows spanned by cell. default: 1
* @param rows
* @return the current element builder
*/
_Cell $rowspan(int rows);
/** number of cols spanned by cell. default: 1
* @param cols
* @return the current element builder
*/
_Cell $colspan(int cols);
}
/**
*
*/
@Element(endTag=false)
public interface TH extends _Cell {
}
/**
*
*/
@Element(endTag=false)
public interface TD extends _Cell {
}
/**
*
*/
public interface _Head extends HeadMisc {
/**
* Add a TITLE element.
* @return a new TITLE element builder
*/
TITLE title();
/**
* Add a TITLE element.
* @param cdata the content
* @return the current element builder
*/
_Head title(String cdata);
/**
* Add a BASE element.
* @return a new BASE element builder
*/
BASE base();
/**
* Add a complete BASE element.
* @param uri
* @return the current element builder
*/
_Head base(String uri);
}
/**
*
*/
public interface HEAD extends I18nAttrs, _Head, _Child {
// $profile omitted
}
/**
*
*/
public interface TITLE extends I18nAttrs, PCData, _Child {
}
/**
*
*/
@Element(endTag=false)
public interface BASE extends _Child {
/** URI that acts as base URI
* @param uri
* @return the current element builder
*/
BASE $href(String uri);
}
/**
*
*/
@Element(endTag=false)
public interface META extends I18nAttrs, _Child {
/** HTTP response header name
* @param header
* @return the current element builder
*/
META $http_equiv(String header);
/** metainformation name
* @param name
* @return the current element builder
*/
META $name(String name);
/** associated information
* @param cdata
* @return the current element builder
*/
META $content(String cdata);
// $scheme omitted
}
/**
*
*/
public interface STYLE extends I18nAttrs, _Content, _Child {
/** content type of style language
* @param cdata
* @return the current element builder
*/
STYLE $type(String cdata);
/** designed for use with these media
* @param media
* @return the current element builder
*/
STYLE $media(EnumSet<Media> media);
/** advisory title
* @param cdata
* @return the current element builder
*/
STYLE $title(String cdata);
}
/**
*
*/
public interface SCRIPT extends _Content, _Child {
/** char encoding of linked resource
* @param cdata
* @return the current element builder
*/
SCRIPT $charset(String cdata);
/** content type of script language
* @param cdata
* @return the current element builder
*/
SCRIPT $type(String cdata);
/** URI for an external script
* @param cdata
* @return the current element builder
*/
SCRIPT $src(String cdata);
/** UA may defer execution of script
* @param cdata
* @return the current element builder
*/
SCRIPT $defer(String cdata);
}
/**
*
*/
public interface _Html extends _Head, _Body, _ {
/**
* Add a HEAD element.
* @return a new HEAD element builder
*/
HEAD head();
/**
* Add a BODY element.
* @return a new BODY element builder
*/
BODY body();
/**
* Add a BODY element.
* @param selector the css selector in the form of (#id)*(.class)*
* @return a new BODY element builder
*/
BODY body(String selector);
}
// There is only one HEAD and BODY, in that order.
/**
* The root element
*/
public interface HTML extends I18nAttrs, _Html {
}
}