123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932 |
- {
- $Id$
- This file is part of the Free Component Library
- Implementation of DOM HTML interfaces
- Copyright (c) 2002 by
- Areca Systems GmbH / Sebastian Guenther, [email protected]
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- **********************************************************************}
- { Please note that this is a very early version, most properties and methods
- are not implemented yet. }
- unit DOM_HTML;
- interface
- uses DOM;
- type
- THTMLDocument = class;
- THTMLFormElement = class;
- THTMLTableCaptionElement = class;
- THTMLTableSectionElement = class;
- THTMLCollection = class
- public
- property Length: Cardinal; // !!!: ro
- function Item(Index: Cardinal): TDOMNode;
- function NamedItem(const Index: DOMString): TDOMNode;
- end;
- THTMLOptionsCollection = class
- public
- property Length: Cardinal; // !!!: ro
- function Item(Index: Cardinal): TDOMNode;
- function NamedItem(const Index: DOMString): TDOMNode;
- end;
- THTMLElement = class(TDOMElement)
- private
- function GetID: DOMString;
- procedure SetID(const Value: DOMString);
- function GetTitle: DOMString;
- procedure SetTitle(const Value: DOMString);
- function GetLang: DOMString;
- procedure SetLang(const Value: DOMString);
- function GetDir: DOMString;
- procedure SetDir(const Value: DOMString);
- function GetClassName: DOMString;
- procedure SetClassName(const Value: DOMString);
- protected
- constructor Create(AOwner: THTMLDocument; const ATagName: DOMString);
- public
- property ID: DOMString read GetID write SetID;
- property Title: DOMString read GetTitle write SetTitle;
- property Lang: DOMString read GetLang write SetLang;
- property Dir: DOMString read GetDir write SetDir;
- property ClassName: DOMString read GetClassName write SetClassName;
- end;
- THTMLHtmlElement = class(THTMLElement)
- private
- function GetVersion: DOMString;
- procedure SetVersion(const Value: DOMString);
- public
- property Version: DOMString read GetVersion write SetVersion;
- end;
- THTMLHeadElement = class(THTMLElement)
- private
- function GetProfile: DOMString;
- procedure SetProfile(const Value: DOMString);
- public
- property Profile: DOMString read GetProfile write SetProfile;
- end;
- THTMLLinkElement = class(THTMLElement)
- public
- property Disabled: Boolean; // !!!: rw
- property Charset: DOMString; // !!!: rw
- property HRef: DOMString; // !!!: rw
- property HRefLang: DOMString; // !!!: rw
- property Media: DOMString; // !!!: rw
- property Rel: DOMString; // !!!: rw
- property Rev: DOMString; // !!!: rw
- property Target: DOMString; // !!!: rw
- property HTMLType: DOMString; // !!!: rw
- end;
- THTMLTitleElement = class(THTMLElement)
- public
- property Text: DOMString; // !!!: rw
- end;
- THTMLMetaElement = class(THTMLElement)
- public
- property Content: DOMString; // !!!: rw
- property HTTPEqiv: DOMString; // !!!: rw
- property Name: DOMString; // !!!: rw
- property Scheme: DOMString; // !!!: rw
- end;
- THTMLBaseElement = class(THTMLElement)
- public
- property HRef: DOMString; // !!!: rw
- property Target: DOMString; // !!!: rw
- end;
- THTMLIsIndexElement = class(THTMLElement)
- public
- property Form: THTMLFormElement; // !!!: ro
- property Prompt: DOMString; // !!!: rw
- end;
- THTMLStyleElement = class(THTMLElement)
- public
- property Disabled: Boolean; // !!!: rw
- property Media: DOMString; // !!!: rw
- property HTMLType: DOMString; // !!!: rw
- end;
- THTMLBodyElement = class(THTMLElement)
- public
- property ALink: DOMString; // !!!: rw
- property Background: DOMString; // !!!: rw
- property BgColor: DOMString; // !!!: rw
- property Link: DOMString; // !!!: rw
- property Text: DOMString; // !!!: rw
- property VLink: DOMString; // !!!: rw
- end;
- THTMLFormElement = class(THTMLElement)
- public
- property Elements: THTMLCollection; // !!!: ro
- property Length: Integer; // !!!: ro
- property Name: DOMString; // !!!: rw
- property AcceptCharset: DOMString; // !!!: rw
- property Action: DOMString; // !!!: rw
- property EncType: DOMString; // !!!: rw
- property Method: DOMString; // !!!: rw
- property Target: DOMString; // !!!: rw
- procedure Submit; virtual; abstract;
- procedure Reset; virtual; abstract;
- end;
- THTMLSelectElement = class(THTMLElement)
- public
- property HTMLType: DOMString; // !!!: ro
- property SelectedIndex: Integer; // !!!: rw
- property Value: DOMString; // !!!: rw
- property Length: Cardinal; // !!!: rw
- property Form: THTMLFormElement; // !!!: ro
- property Options: THTMLOptionsCollection; // !!!: ro
- property Disabled: Boolean; // !!!: rw
- property Multiple: Boolean; // !!!: rw
- property Name: DOMString; // !!!: rw
- property Size: Integer; // !!!: rw
- property TabIndex: Integer; // !!!: rw
- procedure Add(Element, Before: THTMLElement);
- procedure Remove(Index: Integer);
- procedure Blur; virtual; abstract;
- procedure Focus; virtual; abstract;
- end;
- THTMLOptGroupElement = class(THTMLElement)
- public
- property Disabled: Boolean; // !!!: rw
- property GroupLabel: DOMString; // !!!: rw
- end;
- THTMLOptionElement = class(THTMLElement)
- public
- property Form: THTMLFormElement; // !!!: ro
- property DefaultSelected: Boolean; // !!!: rw
- property Text: DOMString; // !!!: ro
- property Index: Integer; // !!!: ro
- property Disabled: Boolean; // !!!: rw
- property OptionLabel: DOMString; // !!!: rw
- property Selected: Boolean; // !!!: rw
- property Value: DOMString; // !!!: rw
- end;
- THTMLInputElement = class(THTMLElement)
- public
- property DefaultValue: DOMString; // !!!: rw
- property DefaultChecked: Boolean; // !!!: rw
- property Form: THTMLFormElement; // !!!: ro
- property Accept: DOMString; // !!!: rw
- property AccessKey: DOMString; // !!!: rw
- property Align: DOMString; // !!!: rw
- property Alt: DOMString; // !!!: rw
- property Checked: Boolean; // !!!: rw
- property Disabled: Boolean; // !!!: rw
- property MaxLength: Integer; // !!!: rw
- property Name: DOMString; // !!!: rw
- property ReadOnly: Boolean; // !!!: rw
- property Size: Cardinal; // !!!: rw
- property Src: DOMString; // !!!: rw
- property TabIndex: Integer; // !!!: rw
- property HTMLType: DOMString; // !!!: rw
- property UseMap: DOMString; // !!!: rw
- property Value: DOMString; // !!!: rw
- procedure Blur; virtual; abstract;
- procedure Focus; virtual; abstract;
- procedure Select; virtual; abstract;
- procedure Click; virtual; abstract;
- end;
- THTMLTextAreaElement = class(THTMLElement)
- public
- property DefaultValue: DOMString; // !!!: rw
- property Form: THTMLFormElement; // !!!: ro
- property AccessKey: DOMString; // !!!: rw
- property Cols: Integer; // !!!: rw
- property Disabled: Boolean; // !!!: rw
- property Name: DOMString; // !!!: rw
- property ReadOnly: Boolean; // !!!: rw
- property Rows: Integer; // !!!: rw
- property TabIndex: Integer; // !!!: rw
- property HTMLType: DOMString; // !!!: rw
- property Value: DOMString; // !!!: rw
- procedure Blur; virtual; abstract;
- procedure Focus; virtual; abstract;
- procedure Select; virtual; abstract;
- end;
- THTMLButtonElement = class(THTMLElement)
- public
- property Form: THTMLFormElement; // !!!: ro
- property AccessKey: DOMString; // !!!: rw
- property Disabled: Boolean; // !!!: rw
- property Name: DOMString; // !!!: rw
- property TabIndex: Integer; // !!!: rw
- property HTMLType: DOMString; // !!!: rw
- property Value: DOMString; // !!!: rw
- end;
- THTMLLabelElement = class(THTMLElement)
- public
- property Form: THTMLFormElement; // !!!: ro
- property AccessKey: DOMString; // !!!: rw
- property HtmlFor: DOMString; // !!!: rw
- end;
- THTMLFieldSetElement = class(THTMLElement)
- public
- property Form: THTMLFormElement; // !!!: ro
- end;
- THTMLLegendElement = class(THTMLElement)
- public
- property Form: THTMLFormElement; // !!!: ro
- property AccessKey: DOMString; // !!!: rw
- property Align: DOMString; // !!!: rw
- end;
- THTMLUListElement = class(THTMLElement)
- public
- property Compact: Boolean; // !!!: rw
- property HTMLType: DOMString; // !!!: rw
- end;
- THTMLOListElement = class(THTMLElement)
- public
- property Compact: Boolean; // !!!: rw
- property Start: Integer; // !!!: rw
- property HTMLType: DOMString; // !!!: rw
- end;
- THTMLDListElement = class(THTMLElement)
- public
- property Compact: Boolean; // !!!: rw
- end;
- THTMLDirectoryElement = class(THTMLElement)
- public
- property Compact: Boolean; // !!!: rw
- end;
- THTMLMenuElement = class(THTMLElement)
- public
- property Compact: Boolean; // !!!: rw
- end;
- THTMLLIElement = class(THTMLElement)
- public
- property HTMLType: DOMString; // !!!: rw
- property Value: Integer; // !!!: rw
- end;
- THTMLDivElement = class(THTMLElement)
- public
- property Align: DOMString; // !!!: rw
- end;
- THTMLParagraphElement = class(THTMLElement)
- public
- property Align: DOMString; // !!!: rw
- end;
- THTMLHeadingElement = class(THTMLElement)
- public
- property Align: DOMString; // !!!: rw
- end;
- THTMLQuoteElement = class(THTMLElement)
- public
- property Cite: DOMString; // !!!: rw
- end;
- THTMLPreElement = class(THTMLElement)
- public
- property Width: Integer; // !!!: rw
- end;
- THTMLBREElement = class(THTMLElement)
- public
- property Clear: DOMString; // !!!: rw
- end;
- THTMLBaseFontElement = class(THTMLElement)
- public
- property Color: DOMString; // !!!: rw
- property Face: DOMString; // !!!: rw
- property Size: Integer; // !!!: rw
- end;
- THTMLFontElement = class(THTMLElement)
- public
- property Color: DOMString; // !!!: rw
- property Face: DOMString; // !!!: rw
- property Size: Integer; // !!!: rw
- end;
- THTMLHRElement = class(THTMLElement)
- public
- property Align: DOMString; // !!!: rw
- property NoShade: Boolean; // !!!: rw
- property Size: DOMString; // !!!: rw
- property Width: DOMString; // !!!: rw
- end;
- THTMLModElement = class(THTMLElement)
- public
- property Cite: DOMString; // !!!: rw
- property DateTime: DOMString; // !!!: rw
- end;
- THTMLAnchorElement = class(THTMLElement)
- public
- property AccessKey: DOMString; // !!!: rw
- property Charset: DOMString; // !!!: rw
- property Coords: DOMString; // !!!: rw
- property HRef: DOMString; // !!!: rw
- property HRefLang: DOMString; // !!!: rw
- property Name: DOMString; // !!!: rw
- property Rel: DOMString; // !!!: rw
- property Rev: DOMString; // !!!: rw
- property Shape: DOMString; // !!!: rw
- property TabIndex: Integer; // !!!: rw
- property Target: DOMString; // !!!: rw
- property HTMLType: DOMString; // !!!: rw
- procedure Blur; virtual; abstract;
- procedure Focus; virtual; abstract;
- end;
- THTMLImageElement = class(THTMLElement)
- public
- property Name: DOMString; // !!!: rw
- property Align: DOMString; // !!!: rw
- property Alt: DOMString; // !!!: rw
- property Border: DOMString; // !!!: rw
- property Height: Integer; // !!!: rw
- property HSpace: Integer; // !!!: rw
- property IsMap: Boolean; // !!!: rw
- property LongDesc: DOMString; // !!!: rw
- property Src: Integer; // !!!: rw
- property UseMap: DOMString; // !!!: rw
- property VSpace: Integer; // !!!: rw
- property Width: Integer; // !!!: rw
- end;
- THTMLObjectElement = class(THTMLElement)
- public
- property Form: THTMLFormElement; // !!!: ro
- property Code: DOMString; // !!!: rw
- property Align: DOMString; // !!!: rw
- property Archive: DOMString; // !!!: rw
- property Border: DOMString; // !!!: rw
- property CodeBase: DOMString; // !!!: rw
- property CodeType: DOMString; // !!!: rw
- property Data: DOMString; // !!!: rw
- property Declare: Boolean; // !!!: rw
- property Height: DOMString; // !!!: rw
- property HSpace: Integer; // !!!: rw
- property Name: DOMString; // !!!: rw
- property StandBy: DOMString; // !!!: rw
- property TabIndex: Integer; // !!!: rw
- property HTMLType: DOMString; // !!!: rw
- property UseMap: DOMString; // !!!: rw
- property VSpace: Integer; // !!!: rw
- property Width: Integer; // !!!: rw
- property ContentDocument: TDOMDocument; // !!!: ro
- end;
- THTMLParamElement = class(THTMLElement)
- public
- property Name: DOMString; // !!!: rw
- property HTMLType: DOMString; // !!!: rw
- property Value: DOMString; // !!!: rw
- property ValueType: DOMString; // !!!: rw
- end;
- THTMLAppletElement = class(THTMLElement)
- public
- property Align: DOMString; // !!!: rw
- property Alt: DOMString; // !!!: rw
- property Archive: DOMString; // !!!: rw
- property Code: DOMString; // !!!: rw
- property CodeBase: DOMString; // !!!: rw
- property Height: DOMString; // !!!: rw
- property HSpace: Integer; // !!!: rw
- property Name: DOMString; // !!!: rw
- property AppletObject: DOMString; // !!!: rw
- property VSpace: Integer; // !!!: rw
- property Width: Integer; // !!!: rw
- end;
- THTMLMapElement = class(THTMLElement)
- public
- property Areas: THTMLCollection; // !!!: ro
- property Name: DOMString; // !!!: rw
- end;
- THTMLAreaElement = class(THTMLElement)
- public
- property AccessKey: DOMString; // !!!: rw
- property Alt: DOMString; // !!!: rw
- property Coords: DOMString; // !!!: rw
- property HRef: DOMString; // !!!: rw
- property NoHRef: Boolean; // !!!: rw
- property Shape: DOMString; // !!!: rw
- property TabIndex: Integer; // !!!: rw
- property Target: DOMString; // !!!: rw
- end;
- THTMLScriptElement = class(THTMLElement)
- public
- property Text: DOMString; // !!!: rw
- property HtmlFor: DOMString; // !!!: rw
- property Event: DOMString; // !!!: rw
- property Charset: DOMString; // !!!: rw
- property Defer: Boolean; // !!!: rw
- property Src: DOMString; // !!!: rw
- property HTMLType: DOMString; // !!!: rw
- end;
- THTMLTableElement = class(THTMLElement)
- public
- property Caption: THTMLTableCaptionElement; // !!!: rw
- property THead: THTMLTableSectionElement; // !!!: rw
- property TFoot: THTMLTableSectionElement; // !!!: rw
- property Rows: THTMLCollection; // !!!: ro
- property TBodies: THTMLCollection; // !!!: ro
- property Align: DOMString; // !!!: rw
- property BgColor: DOMString; // !!!: rw
- property Border: DOMString; // !!!: rw
- property CellPadding: DOMString; // !!!: rw
- property CellSpacing: DOMString; // !!!: rw
- property Frame: DOMString; // !!!: rw
- property Rules: DOMString; // !!!: rw
- property Summary: DOMString; // !!!: rw
- property Width: DOMString; // !!!: rw
- function CreateTHead: THTMLElement;
- procedure DeleteTHead;
- function CreateTFoot: THTMLElement;
- procedure DeleteTFoot;
- function CreateCaption: THTMLElement;
- procedure DeleteCaption;
- function InsertRow(Index: Integer): THTMLElement;
- procedure DeleteRow(Index: Integer);
- end;
- THTMLTableCaptionElement = class(THTMLElement)
- public
- property Align: DOMString; // !!!: rw
- end;
- THTMLTableColElement = class(THTMLElement)
- public
- property Align: DOMString; // !!!: rw
- property Ch: DOMString; // !!!: rw
- property ChOff: DOMString; // !!!: rw
- property Span: Integer; // !!!: rw
- property VAlign: DOMString; // !!!: rw
- property Width: DOMString; // !!!: rw
- end;
- THTMLTableSectionElement = class(THTMLElement)
- public
- property Align: DOMString; // !!!: rw
- property Ch: DOMString; // !!!: rw
- property ChOff: DOMString; // !!!: rw
- property VAlign: DOMString; // !!!: rw
- property Rows: THTMLCollection; // !!!: ro
- function InsertRow(Index: Integer): THTMLElement;
- procedure DeleteRow(Index: Integer);
- end;
- THTMLTableRowElement = class(THTMLElement)
- public
- property RowIndex: Integer; // !!!: ro
- property SectionRowIndex: Integer; // !!!: ro
- property Cells: THTMLCollection; // !!!: ro
- property Align: DOMString; // !!!: rw
- property BgColor: DOMString; // !!!: rw
- property Ch: DOMString; // !!!: rw
- property ChOff: DOMString; // !!!: rw
- property VAlign: DOMString; // !!!: rw
- function InsertCell(Index: Integer): THTMLElement;
- procedure DeleteCell(Index: Integer);
- end;
- THTMLTableCellElement = class(THTMLElement)
- public
- property CellIndex: Integer; // !!!: ro
- property Abbr: DOMString; // !!!: rw
- property Align: DOMString; // !!!: rw
- property Axis: DOMString; // !!!: rw
- property BgColor: DOMString; // !!!: rw
- property Ch: DOMString; // !!!: rw
- property ChOff: DOMString; // !!!: rw
- property ColSpan: Integer; // !!!: rw
- property Headers: DOMString; // !!!: rw
- property Height: DOMString; // !!!: rw
- property NoWrap: Boolean; // !!!: rw
- property RowSpan: Integer; // !!!: rw
- property Scope: DOMString; // !!!: rw
- property VAlign: DOMString; // !!!: rw
- property Width: DOMString; // !!!: rw
- end;
- THTMLFrameSetElement = class(THTMLElement)
- public
- property Cols: DOMString; // !!!: rw
- property Rows: DOMString; // !!!: rw
- end;
- THTMLFrameElement = class(THTMLElement)
- public
- property FrameBorder: DOMString; // !!!: rw
- property LongDesc: DOMString; // !!!: rw
- property MarginHeight: DOMString; // !!!: rw
- property MarginWidth: DOMString; // !!!: rw
- property Name: DOMString; // !!!: rw
- property NoResize: Boolean; // !!!: rw
- property Scrolling: DOMString; // !!!: rw
- property Src: DOMString; // !!!: rw
- property ContentDocument: TDOMDocument; // !!!: ro
- end;
- THTMLIFrameElement = class(THTMLElement)
- public
- property Align: DOMString; // !!!: rw
- property FrameBorder: DOMString; // !!!: rw
- property Height: DOMString; // !!!: rw
- property LongDesc: DOMString; // !!!: rw
- property MarginHeight: DOMString; // !!!: rw
- property MarginWidth: DOMString; // !!!: rw
- property Name: DOMString; // !!!: rw
- property Scrolling: DOMString; // !!!: rw
- property Src: DOMString; // !!!: rw
- property Width: DOMString; // !!!: rw
- property ContentDocument: TDOMDocument; // !!!: ro
- end;
- THTMLDocument = class(TXMLDocument)
- private
- function GetTitle: DOMString;
- procedure SetTitle(const Value: DOMString);
- public
- property Title: DOMString read GetTitle write SetTitle;
- property Referrer: DOMString; // !!!: ro
- property Domain: DOMString; // !!!: ro
- property URL: DOMString; // !!!: ro
- property Body: THTMLElement; // !!!: rw
- property Images: THTMLCollection; // !!!: ro
- property Applets: THTMLCollection; // !!!: ro
- property Links: THTMLCollection; // !!!: ro
- property Forms: THTMLCollection; // !!!: ro
- property Anchors: THTMLCollection; // !!!: ro
- property Cookie: DOMString; // !!!: rw
- procedure Open; virtual; abstract;
- procedure Close; virtual; abstract;
- procedure Write(const AText: DOMString);
- procedure WriteLn(const AText: DOMString);
- function GetElementsByName(const ElementName: DOMString): TDOMNodeList;
- // Helper functions (not in DOM standard):
- function CreateElement(const tagName: DOMString): THTMLElement;
- function CreateSubElement: THTMLElement;
- function CreateSupElement: THTMLElement;
- function CreateSpanElement: THTMLElement;
- function CreateBDOElement: THTMLElement;
- function CreateTTElement: THTMLElement;
- function CreateIElement: THTMLElement;
- function CreateBElement: THTMLElement;
- function CreateUElement: THTMLElement;
- function CreateSElement: THTMLElement;
- function CreateStrikeElement: THTMLElement;
- function CreateBigElement: THTMLElement;
- function CreateSmallElement: THTMLElement;
- function CreateEmElement: THTMLElement;
- function CreateStrongElement: THTMLElement;
- function CreateDfnElement: THTMLElement;
- function CreateCodeElement: THTMLElement;
- function CreateSampElement: THTMLElement;
- function CreateKbdElement: THTMLElement;
- function CreateVarElement: THTMLElement;
- function CreateCiteElement: THTMLElement;
- function CreateAcronymElement: THTMLElement;
- function CreateAbbrElement: THTMLElement;
- function CreateDDElement: THTMLElement;
- function CreateDTElement: THTMLElement;
- function CreateNoFramesElement: THTMLElement;
- function CreateNoScriptElement: THTMLElement;
- function CreateAddressElement: THTMLElement;
- function CreateCenterElement: THTMLElement;
- function CreateHtmlElement: THTMLHtmlElement;
- function CreateHeadElement: THTMLHeadElement;
- function CreateLinkElement: THTMLLinkElement;
- { function CreateTitleElement: THTMLTitleElement;
- function CreateMetaElement: THTMLMetaElement;
- function CreateBaseElement: THTMLBaseElement;
- function CreateIsIndexElement: THTMLIsIndexElement;
- function CreateStyleElement: THTMLStyleElement;}
- function CreateBodyElement: THTMLBodyElement;
- { function CreateFormElement: THTMLFormElement;
- function CreateSelectElement: THTMLSelectElement;
- function CreateOptGroupElement: THTMLOptGroupElement;
- function CreateOptionElement: THTMLOptionElement;
- function CreateInputElement: THTMLInputElement;
- function CreateTextAreaElement: THTMLTextAreaElement;
- function CreateButtonElement: THTMLButtonElement;
- function CreateLabelElement: THTMLLabelElement;
- function CreateFieldSetElement: THTMLFieldSetElement;
- function CreateLegendElement: THTMLLegendElement;}
- function CreateUListElement: THTMLUListElement;
- function CreateOListElement: THTMLOListElement;
- function CreateDListElement: THTMLDListElement;
- { function CreateDirectoryElement: THTMLDirectoryElement;
- function CreateMenuElement: THTMLMenuElement;}
- function CreateLIElement: THTMLLIElement;
- { function CreateDivElement: THTMLDivElement;}
- function CreateParagraphElement: THTMLParagraphElement;
- { function CreateHeadingElement: THTMLHeadingElement;
- function CreateQuoteElement: THTMLQuoteElement;
- function CreatePreElement: THTMLPreElement;
- function CreateBRElement: THTMLBreElement;
- function CreateBaseFontElement: THTMLBaseFontElement;
- function CreateFontElement: THTMFontLElement;
- function CreateHRElement: THTMLHREElement;
- function CreateModElement: THTMLModElement;
- function CreateAnchorElement: THTMLAnchorElement;
- function CreateImageElement: THTMLImageElement;
- function CreateObjectElement: THTMLObjectElement;
- function CreateParamElement: THTMLParamElement;
- function CreateAppletElement: THTMLAppletElement;
- function CreateMapElement: THTMLMapElement;
- function CreateAreaElement: THTMLAreaElement;
- function CreateScriptElement: THTMLScriptElement;
- function CreateTableElement: THTMLTableElement;
- function CreateTableCaptionElement: THTMLTableCaptionElement;
- function CreateTableColElement: THTMLTableColElement;
- function CreateTableSectionElement: THTMLTableSectionElement;
- function CreateTableRowElement: THTMLTableRowElement;
- function CreateTableCellElement: THTMLTableCellElement;
- function CreateFrameSetElement: THTMLFrameSetElement;
- function CreateFrameElement: THTMLFrameElement;
- function CreateIFrameElement: THTMLIFrameElement;}
- end;
- implementation
- function THTMLCollection.Item(Index: Cardinal): TDOMNode;
- begin
- Result := nil;
- end;
- function THTMLCollection.NamedItem(const Index: DOMString): TDOMNode;
- begin
- Result := nil;
- end;
- function THTMLOptionsCollection.Item(Index: Cardinal): TDOMNode;
- begin
- Result := nil;
- end;
- function THTMLOptionsCollection.NamedItem(const Index: DOMString): TDOMNode;
- begin
- Result := nil;
- end;
- constructor THTMLElement.Create(AOwner: THTMLDocument; const ATagName: DOMString);
- begin
- inherited Create(AOwner);
- FNodeName := ATagName;
- end;
- function THTMLElement.GetID: DOMString; begin Result := GetAttribute('id') end;
- procedure THTMLElement.SetID(const Value: DOMString); begin SetAttribute('id', Value) end;
- function THTMLElement.GetTitle: DOMString; begin Result := GetAttribute('title') end;
- procedure THTMLElement.SetTitle(const Value: DOMString); begin SetAttribute('title', Value) end;
- function THTMLElement.GetLang: DOMString; begin Result := GetAttribute('lang') end;
- procedure THTMLElement.SetLang(const Value: DOMString); begin SetAttribute('lang', Value) end;
- function THTMLElement.GetDir: DOMString; begin Result := GetAttribute('dir') end;
- procedure THTMLElement.SetDir(const Value: DOMString); begin SetAttribute('dir', Value) end;
- function THTMLElement.GetClassName: DOMString; begin Result := GetAttribute('class') end;
- procedure THTMLElement.SetClassName(const Value: DOMString); begin SetAttribute('class', Value) end;
- function THTMLHtmlElement.GetVersion: DOMString; begin Result := GetAttribute('version') end;
- procedure THTMLHtmlElement.SetVersion(const Value: DOMString); begin SetAttribute('version', Value) end;
- function THTMLHeadElement.GetProfile: DOMString; begin Result := GetAttribute('profile') end;
- procedure THTMLHeadElement.SetProfile(const Value: DOMString); begin SetAttribute('profile', Value) end;
- procedure THTMLSelectElement.Add(Element, Before: THTMLElement);
- begin
- end;
- procedure THTMLSelectElement.Remove(Index: Integer);
- begin
- end;
- function THTMLTableElement.CreateTHead: THTMLElement;
- begin
- Result := nil;
- end;
- procedure THTMLTableElement.DeleteTHead;
- begin
- end;
- function THTMLTableElement.CreateTFoot: THTMLElement;
- begin
- Result := nil;
- end;
- procedure THTMLTableElement.DeleteTFoot;
- begin
- end;
- function THTMLTableElement.CreateCaption: THTMLElement;
- begin
- Result := nil;
- end;
- procedure THTMLTableElement.DeleteCaption;
- begin
- end;
- function THTMLTableElement.InsertRow(Index: Integer): THTMLElement;
- begin
- Result := nil;
- end;
- procedure THTMLTableElement.DeleteRow(Index: Integer);
- begin
- end;
- function THTMLTableSectionElement.InsertRow(Index: Integer): THTMLElement;
- begin
- Result := nil;
- end;
- procedure THTMLTableSectionElement.DeleteRow(Index: Integer);
- begin
- end;
- function THTMLTableRowElement.InsertCell(Index: Integer): THTMLElement;
- begin
- Result := nil;
- end;
- procedure THTMLTableRowElement.DeleteCell(Index: Integer);
- begin
- end;
- function THTMLDocument.GetTitle: DOMString;
- var
- Node: TDOMNode;
- begin
- Result := '';
- if not Assigned(DocumentElement) then
- exit;
- Node := DocumentElement.FirstChild;
- while Assigned(Node) and (Node.NodeName <> 'head') do
- Node := Node.NextSibling;
- if not Assigned(Node) then
- exit;
- Node := Node.FirstChild;
- while Assigned(Node) and (Node.NodeName <> 'title') do
- Node := Node.NextSibling;
- if not Assigned(Node) then
- exit;
- Node := Node.FirstChild;
- if Assigned(Node) and (Node.NodeType = TEXT_NODE) then
- Result := Node.NodeValue;
- end;
- procedure THTMLDocument.SetTitle(const Value: DOMString);
- var
- Node: TDOMNode;
- TitleEl: TDOMElement;
- begin
- if not Assigned(DocumentElement) then
- AppendChild(CreateHtmlElement);
- Node := DocumentElement.FirstChild;
- while Assigned(Node) and (Node.NodeName <> 'head') do
- Node := Node.NextSibling;
- if not Assigned(Node) then
- begin
- Node := CreateHeadElement;
- DocumentElement.InsertBefore(Node, DocumentElement.FirstChild);
- end;
- TitleEl := TDOMElement(Node.FirstChild);
- while Assigned(TitleEl) and (TitleEl.NodeName <> 'title') do
- TitleEl := TDOMElement(TitleEl.NextSibling);
- if not Assigned(TitleEl) then
- begin
- TitleEl := CreateElement('title');
- Node.AppendChild(TitleEl);
- end;
- while Assigned(TitleEl.FirstChild) do
- TitleEl.RemoveChild(TitleEl.FirstChild);
- TitleEl.AppendChild(CreateTextNode(Value));
- end;
- procedure THTMLDocument.Write(const AText: DOMString);
- begin
- end;
- procedure THTMLDocument.WriteLn(const AText: DOMString);
- begin
- end;
- function THTMLDocument.GetElementsByName(const ElementName: DOMString): TDOMNodeList;
- begin
- Result := nil;
- end;
- function THTMLDocument.CreateElement(const tagName: DOMString): THTMLElement;
- begin
- Result := THTMLElement.Create(Self, tagName);
- end;
- function THTMLDocument.CreateSubElement: THTMLElement; begin Result := CreateElement('sub') end;
- function THTMLDocument.CreateSupElement: THTMLElement; begin Result := CreateElement('sup') end;
- function THTMLDocument.CreateSpanElement: THTMLElement; begin Result := CreateElement('span') end;
- function THTMLDocument.CreateBDOElement: THTMLElement; begin Result := CreateElement('bdo') end;
- function THTMLDocument.CreateTTElement: THTMLElement; begin Result := CreateElement('tt') end;
- function THTMLDocument.CreateIElement: THTMLElement; begin Result := CreateElement('i') end;
- function THTMLDocument.CreateBElement: THTMLElement; begin Result := CreateElement('b') end;
- function THTMLDocument.CreateUElement: THTMLElement; begin Result := CreateElement('u') end;
- function THTMLDocument.CreateSElement: THTMLElement; begin Result := CreateElement('s') end;
- function THTMLDocument.CreateStrikeElement: THTMLElement; begin Result := CreateElement('strike') end;
- function THTMLDocument.CreateBigElement: THTMLElement; begin Result := CreateElement('big') end;
- function THTMLDocument.CreateSmallElement: THTMLElement; begin Result := CreateElement('small') end;
- function THTMLDocument.CreateEmElement: THTMLElement; begin Result := CreateElement('em') end;
- function THTMLDocument.CreateStrongElement: THTMLElement; begin Result := CreateElement('strong') end;
- function THTMLDocument.CreateDfnElement: THTMLElement; begin Result := CreateElement('dfn') end;
- function THTMLDocument.CreateCodeElement: THTMLElement; begin Result := CreateElement('code') end;
- function THTMLDocument.CreateSampElement: THTMLElement; begin Result := CreateElement('samp') end;
- function THTMLDocument.CreateKbdElement: THTMLElement; begin Result := CreateElement('kbd') end;
- function THTMLDocument.CreateVarElement: THTMLElement; begin Result := CreateElement('var') end;
- function THTMLDocument.CreateCiteElement: THTMLElement; begin Result := CreateElement('cite') end;
- function THTMLDocument.CreateAcronymElement: THTMLElement; begin Result := CreateElement('acronym') end;
- function THTMLDocument.CreateAbbrElement: THTMLElement; begin Result := CreateElement('abbr') end;
- function THTMLDocument.CreateDDElement: THTMLElement; begin Result := CreateElement('dd') end;
- function THTMLDocument.CreateDTElement: THTMLElement; begin Result := CreateElement('dt') end;
- function THTMLDocument.CreateNoFramesElement: THTMLElement; begin Result := CreateElement('noframes') end;
- function THTMLDocument.CreateNoScriptElement: THTMLElement; begin Result := CreateElement('noscript') end;
- function THTMLDocument.CreateAddressElement: THTMLElement; begin Result := CreateElement('address') end;
- function THTMLDocument.CreateCenterElement: THTMLElement; begin Result := CreateElement('center') end;
- function THTMLDocument.CreateHtmlElement: THTMLHtmlElement; begin Result := THTMLHtmlElement.Create(Self, 'html') end;
- function THTMLDocument.CreateHeadElement: THTMLHeadElement; begin Result := THTMLHeadElement.Create(Self, 'head') end;
- function THTMLDocument.CreateLinkElement: THTMLLinkElement; begin Result := THTMLLinkElement.Create(Self, 'a') end;
- //...
- function THTMLDocument.CreateBodyElement: THTMLBodyElement; begin Result := THTMLBodyElement.Create(Self, 'body') end;
- //...
- function THTMLDocument.CreateUListElement: THTMLUListElement; begin Result := THTMLUListElement.Create(Self, 'ul') end;
- function THTMLDocument.CreateOListElement: THTMLOListElement; begin Result := THTMLOListElement.Create(Self, 'ol') end;
- function THTMLDocument.CreateDListElement: THTMLDListElement; begin Result := THTMLDListElement.Create(Self, 'dl') end;
- // ...
- function THTMLDocument.CreateLIElement: THTMLLIElement; begin Result := THTMLLIElement.Create(Self, 'li') end;
- //...
- function THTMLDocument.CreateParagraphElement: THTMLParagraphElement; begin Result := THTMLParagraphElement.Create(Self, 'p') end;
- end.
- {
- $Log$
- Revision 1.1 2002-12-11 21:06:07 sg
- * Small cleanups
- * Replaced htmldoc unit with dom_html unit
- * Added SAX parser framework and SAX HTML parser
- }
|