Component Browser Markup is a language, more specifically could be called CAWBL (Component and Widget Browser Language). It would be used in a ComponentBrowser. Instead of parsing just HTML and javascript alone like a web browser today (year 2004), a component browser will parse component markup language ''and'' HTML inside the components if it needs to. ''And'' RTF inside the components if it needs to. ''And'' binary formats. It is called CAWBL because it's not so much a text markup, but rather a language that focuses on components and widgets. Pronounciation: Kobble (Ryhmes with Gobble) or Kaw-bell (a play on Cowbell), depending how your day is going. See also: ComponentBrowser. ---- Component Browser Markup is one language the Component Browser can parse - this is the language that the browser parses in order to display components on the client's screen. To encourage bandwidth savings and rapid web site loading, CAWBL would also be available in a binary (compiled) and/or compressed format which the browser can read. CAWBL could make use of both a binary format and a compressed format, instead of like html browsers who utilize Gzip, which is purely compressed non-binary html. But it can also read CAWBL uncompressed form, taken from a server file containing normal CAWBL syntax. Component Browser Markup may be similar to languages which create "forms" for GUI's in offline software development. Example: in GUI programs built with C++ or Delphi or Python or Qt or Lazarus or GTK, you build forms, windows, and panels instead of just documents. A form in a component browser that is loaded on the screen can hold and load a document within the form, on a widget. But the document is not the web site, as seen in HTML browsers. The Main Pointers *Where HTML displays documents only, a Component Browser displays components such as forms and panels who are placeholders for documents and other widgets. *Therefore component browser markup uses precise pixel/form positioning rather than document style carriage returns that HTML uses. *CAWBL is object oriented and organized around widgets, controls, or components, unlike HTML who is more of a markup scripting language for documents and text. Example: Widget1.height = 5 ; Widget1.Left = 80 ; WidgetHTMLReader.Right = 50 ; WidgetHTMLReader.Load(../../documents/htmldoc1.htm); WidgetHTMLReader2.Load(../../documents/privacyPolicy.htm); Pane2.cart.Hyperlink1.left = 35 ; Pane2.cart.PriceLab1.left = Pane2.cart.Hyperlink1.Right + 10 ; Pane2.cart.PriceLab1.Text = 'Get your wiki t-shirt today' ; if Pane2.listBox.selection = 'Red' then Pane2.Textbox2.Text = 'You chose a red shirt to be ordered'; Pane2.Textbox2.flashColor(3,Red); //Flash the text box in red 3 times end; //The components can load HTML, but the browser itself is //not based on HTML alone. //Instead of just frames...we can have multple forms load //up with widgets on them. A form is a widget itself. There may be different language options available for writing CAWBL, such as slightly different syntax that does the same thing, but reads differently: Pane2->cart->PriceLab1->left = Pane2->cart->Hyperlink1->Right + 10 ; Pane2->cart->PriceLab1->Text = "Get your wiki t-shirt today" ; if Pane2->listBox->selection == "Red" { Pane2.Textbox2.Text = "You chose a red shirt to be ordered"; Pane2.Textbox2.flashColor(3,Red); //Flash the text box in red 3 times } A developer can store CAWBL, HTML, RTF, and more, on the server. (Also binary files on the server, plug-ins on the server) The component browser will GET (over http) the CAWBL, html, RTF, etc. from the server. The client uses a ComponentBrowser on his computer to get mainly ComponentBrowser markup files from a server somewhere. The CAWBL then deals with other formats and tells the forms and widgets what to do and what to get. The ComponentBrowser can also simply GET html from a server, without ever needing to download any CAWBL (backward compatible with plain HTML). ---- '''Backward compatibility with plain HTML''' When a component browser detects that the file it is downloading is just plain old HTML, it will display it just like an HTML browser displays HTML. The developer, preferably will have chosen the ComponentBrowser way of displayng HTML though - this meaning that he makes a simple CAWBL file that instructs the browser to place some HTML into a form containing an Html Widget loaded within the browser. A user may also be able to place html directly in the component browser markup. CAWBL is not like PHP or ASP or other embedded server side scripting languages. CAWBL actually displays items in a component browser through CAWBL. CAWBL is interpreted on the client side, or downloaded in compiled format and dealt with on the client side. CAWBL uses forms and widgets as a basis, whereas PHP and ASP use document style HTML as the end result on the client side. ---- Since component browser markup encourages the use of ''forms for applications'', and ''html for documents'', the developer does not suffer from "Layout and Design versus Programming" madness or illness. CawblIsForApplications and HtmlIsForDocuments.