Author: lou
Date: 2007-09-19 10:20:19 -0700 (Wed, 19 Sep 2007)
New Revision: 6522

Modified:
   openlaszlo/trunk/docs/src/developers/architecture.dbk
   openlaszlo/trunk/docs/src/developers/language-preliminaries.dbk
Log:
Change 20070919-lou-idaGli by [EMAIL PROTECTED] on 2007-09-19 07:07:29 AST
    in /home/lou/src/svn/openlaszlo/trunk/docs/src/developers
    for http://svn.openlaszlo.org/openlaszlo/trunk/docs/src/developers

Summary: fix LPP-3826

New Features:

Bugs Fixed: LPP-3826 changes that made sense, and corrected many spelling errors

Technical Reviewer: Benjamine Shine
QA Reviewer: (pending)
Doc Reviewer: John Sundman

Documentation:

Release Notes:

Details:
    

Tests:



Modified: openlaszlo/trunk/docs/src/developers/architecture.dbk
===================================================================
--- openlaszlo/trunk/docs/src/developers/architecture.dbk       2007-09-19 
17:13:30 UTC (rev 6521)
+++ openlaszlo/trunk/docs/src/developers/architecture.dbk       2007-09-19 
17:20:19 UTC (rev 6522)
@@ -8,7 +8,7 @@
 administrative advantages and cost effectiveness of web applications.
 </para>
 <para>
-OpenLaszlo applications are written in the XML language LZX, which compiles to 
any of several runtime targets, including, as of OpenLaszlo 4.0, sw7, sw8, and 
native browswer JavaScript, also sometimes called DHTML or Ajax. Applications 
compiled to SWF7 or SWF8 run in the Flash 9 player.</para>
+OpenLaszlo applications are written in the XML language LZX, which compiles to 
any of several runtime targets, including, as of OpenLaszlo 4.0, sw7, sw8, and 
native browser JavaScript, also sometimes called DHTML or Ajax. Applications 
compiled to SWF7 or SWF8 run in the Flash 9 player.</para>
 <para/><section><title>Deployment Modes</title>
 <para>
 OpenLaszlo applications can be made available on the web, or <emphasis 
role="i">deployed</emphasis> in either of two ways:
@@ -17,7 +17,7 @@
      <itemizedlist spacing="compact"><listitem><para>Compiles source programs 
as necessary and sends the resultant file to be executed on the client; 
and</para></listitem><listitem><para>Proxies interactions between the client 
and other servers on the Internet, performing data manipulation as 
necessary</para></listitem></itemizedlist>
    </para></listitem><listitem><para><emphasis role="em">SOLO</emphasis> You 
use the OpenLaszlo compiler to "precompile" programs and make the resulting 
file (in SWF or JavaScript) available on your sever. When executed on the
         client, the application contacts other servers directly, without 
mediation by the OpenLaszlo Server. This "serverless", or
-<emphasis role="i">Standalone OpenLaszlo Output</emphasis> deployment is caled 
SOLO.</para></listitem></itemizedlist>
+<emphasis role="i">Standalone OpenLaszlo Output</emphasis> deployment is 
called SOLO.</para></listitem></itemizedlist>
 <figure><title>Applications may be deployed either SOLO or proxied by the 
OpenLaszlo Server</title><mediaobject><imageobject><imagedata 
fileref="images/deploy_options.png"/></imageobject></mediaobject></figure>
 <para>
 Later chapters explain in detail the differences between proxied and SOLO 
OpenLaszlo applications.  In general:
@@ -36,8 +36,8 @@
 container. The OpenLaszlo Server may communicate with <glossterm>back 
end</glossterm>
 servers and data sources using a variety of protocols. OpenLaszlo
 applications written in LZX are compiled by the OpenLaszlo Server and served 
either as bytecode
-to a plug in that runs in the client's web browser (such as Flash or J2ME) or 
as JavaScript (DHTML) that is directly executed by the browser itself.  This 
constitutes
-the <indexterm significance="preferred"><primary>front 
end</primary></indexterm><glossterm>front end</glossterm>.  OpenLaszlo 
applications run consistently and reliably on a variety of operating systems 
and device types, including Windows, Pocket PC, Mac OS, Linux, and Solaris, and 
a variety of mobile and set-top box platformss.
+to a plug-in that runs in the client's web browser (such as Flash or J2ME) or 
as JavaScript (DHTML) that is directly executed by the browser itself.  This 
constitutes
+the <indexterm significance="preferred"><primary>front 
end</primary></indexterm><glossterm>front end</glossterm>.  OpenLaszlo 
applications run consistently and reliably on a variety of operating systems 
and device types, including Windows, Pocket PC, Mac OS, Linux, and Solaris, and 
a variety of mobile and set-top box platforms.
 </para>
 <para>
 When compiling for execution by the Flashplayer, the OpenLaszlo Server outputs 
bytecode in the SWF ("shockwave format") file
@@ -48,7 +48,7 @@
 When compiled for execution natively in the browser, the OpenLaszlo Server 
outputs JavaScript. This script is human readable but optimized for size and 
execution speed, with comments removed, variable names shortened, etc. 
 </para>
 <para>
-In the future, OpenLaszlo may support other run time clients as
+In the future, OpenLaszlo may support other run-time clients as
 they become widely available.</para>
 <figure><title>OpenLaszlo Compiles to Different 
Runtimes</title><mediaobject><imageobject><imagedata 
fileref="images/kernels.png"/></imageobject></mediaobject></figure>
 <para>
@@ -196,7 +196,7 @@
 <para>
 The OpenLaszlo application platform supports the SSL security model. Data 
transmissions across the Internet can 
 be encrypted using 
-SSL encryption over HTTPS.  When compiled for native execution by the browser, 
the security model is that of whicherver  browser is used to execute the 
application.
+SSL encryption over HTTPS.  When compiled for native execution by the browser, 
the security model is that of whichever  browser is used to execute the 
application.
 </para>
 <para>
 The security model employed by OpenLaszlo applications differs slightly 
depending on the runtime target. OpenLaszlo applications compiled to swf format 
execute on the client computer within the secure "sandbox" environment of
@@ -213,7 +213,7 @@
 The OpenLaszlo architecture is designed to support multiple device types. Its 
dynamic layout mechanisms enable simple modifications to such properties as an 
application's overall 
 size to be intelligently applied by the platform. This simplifies adapting an 
application to work on screens and devices of different size.</para>
 
-<para>All screen visualizations in OpenLaszlo appllications use time-based 
rather than
+<para>All screen visualizations in OpenLaszlo applications use time-based 
rather than
 frame-based animation, and thus transparently accommodate the
 processor speed differences of various device types. An interface
 transition specified to take 500 milliseconds will take 500

Modified: openlaszlo/trunk/docs/src/developers/language-preliminaries.dbk
===================================================================
--- openlaszlo/trunk/docs/src/developers/language-preliminaries.dbk     
2007-09-19 17:13:30 UTC (rev 6521)
+++ openlaszlo/trunk/docs/src/developers/language-preliminaries.dbk     
2007-09-19 17:20:19 UTC (rev 6522)
@@ -2,8 +2,8 @@
 
 <title>Language Preliminaries</title>
 
-<para>LZX is an object oriented, tag-based language that uses XML and 
JavaScript syntax to create the presentation layer 
-of rich internet applications. Typically these applications are compiled by 
the 
+<para>LZX is an object-oriented, tag-based language that uses XML and 
JavaScript syntax to create the presentation layer 
+of rich Internet applications. Typically these applications are compiled by 
the 
 OpenLaszlo compiler. They may be deployed as standalone files, or they may be 
 served by the OpenLaszlo Server. 
 The specification of the language includes both a set of XML tags and a set of 
JavaScript APIs.</para>
@@ -22,19 +22,19 @@
 downloaded as byte code for a target rendering engine.</para>
 
 <para>In the current implementation of the OpenLaszlo platform, LZX programs 
are compiled in the OpenLaszlo Server and downloaded either as 
-Flash movies (.swf files) to be executed in the Flash Player plugged into an 
Internet browser, or compiled to DHTML which is downloaded to be executed by 
the browser's JavaScript engine. It's important to understand that the Flash 
Player is used only as an execution/rendering engine for the generated byte 
code, and there's 
+Flash movies (.swf files) to be executed in the Flash Player plugged into an 
Internet browser, or compiled to DHTML which is downloaded to be executed by 
the browser's JavaScript engine. It's important to understand that the Flash 
Player is used only as an execution/rendering engine for the generated byte 
code: there's 
 nothing inherent in LZX that marries it to Flash. In particular, LZX does not 
employ or rely upon the Flash object model.</para>
 
 <para>Similarly, because LZX programs are compiled by the OpenLaszlo Server 
the use of JavaScript in LZX programs is subtly 
 different from its use in traditional web applications in which JavaScript is 
used to do things like communicate with the browser 
-or generate HTML pages. Those functions are basically irrelevant in LZX 
applications. Thus although the language design is 
+or generate HTML pages. Those functions are basically irrelevant in LZX 
applications. Thus, although the language design is 
 rather traditional, the programming paradigm is fundamentally new.</para>
 
-<para>This chapter summarizes the traditional and innovative aspects of LZX. 
It's an overview, not a tutorial; after reading it you will be better able to 
decide how to go about learning the language. Depending on your background and 
experience, you may determine that you need to go learn some more about XML or 
object oriented programming before addressing LZX. On the other hand, if you 
find these concepts accessible you may want to jump right in and begin coding, 
in which case we suggest starting with the <ulink 
url="../guide/laszlo_basics.html" type="laszlo-dguide">OpenLaszlo 
Basics</ulink> tutorial.</para>
+<para>This chapter summarizes the traditional and innovative aspects of LZX. 
It's an overview, not a tutorial; after reading it you will be better able to 
decide how to go about learning the language. Depending on your background and 
experience, you may determine that you need to go learn some more about XML or 
object-oriented programming before addressing LZX. On the other hand, if you 
find these concepts accessible, you may want to jump right in and begin coding, 
in which case we suggest starting with the <ulink 
url="../guide/laszlo_basics.html" type="laszlo-dguide">OpenLaszlo 
Basics</ulink> tutorial.</para>
 
 <para/><section><title>Overview of Syntax and Semantics</title>
 
-<para>In LZX, XML tags are used to create JavaScript objects, and Javascript 
is used inside of LZX programs to
+<para>In LZX, XML tags are used to create JavaScript objects, and JavaScript 
is used inside of LZX programs to
  manipulate objects created by tags. In most cases, anything that can be done 
with a tag can be accomplished in 
 JavaScript, and vice versa. However, this equivalence is not universally true, 
and moreover one technique is 
 virtually always vastly superior to another in any situation. <emphasis 
role="em">Learning</emphasis> LZX basically comes down to 
@@ -46,7 +46,7 @@
 <para>LZX strictly adheres to XML and JavaScript syntax</para>
 <note><para>
 In earlier releases, LZX did not enforce case sensitivity in JavaScript. Since 
OpenLaszlo release 3.0 LZX has been a completely 
-case sensitive language. See below for a more in depth discussion.
+case-sensitive language. See below for a more in-depth discussion.
 </para></note>
 
 <para>The following sections offer a brief refresher on the two kinds of
@@ -93,7 +93,7 @@
 </para></note>
 <para/></section></section><section 
id="language-preliminaries.javascript"><title>JavaScript</title>
 
-<para>JavaScript is a language originally written at Netscape by Brendan Eich 
for incorporation in the Netscape 2.0 browser. It was instantly successful and 
widely adopted in other browsers, and to preserve its emerging value as a 
standard, the European Computer Manufacturer's Association (ECMA) codified the 
language as ECMAScript and now maintains control of its evolution. Although 
there may be subtle differences between any implementation of JavaScript and 
the language formally specified by the standards body, in colloquial usage the 
terms JavaScript and ECMAScript are often used interchangeably. While perhaps a 
little more accurate to say that "ECMAScript" refers to the pure language while 
"JavaScript" means both the language and the associated libraries that are 
available on most browsers, in this book we follow general usage and use the 
terms loosely, trusting that it will be clear from the context what we're 
talking about. The term "script" refers to any (procedural) code written in 
Javascript.</para>
+<para>JavaScript is a language originally written at Netscape by Brendan Eich 
for incorporation in the Netscape 2.0 browser. It was instantly successful and 
widely adopted in other browsers, and to preserve its emerging value as a 
standard, the European Computer Manufacturer's Association (ECMA) codified the 
language as ECMAScript and now maintains control of its evolution. Although 
there may be subtle differences between any implementation of JavaScript and 
the language formally specified by the standards body, in colloquial usage the 
terms JavaScript and ECMAScript are often used interchangeably. While perhaps a 
little more accurate to say that "ECMAScript" refers to the pure language while 
"JavaScript" means both the language and the associated libraries that are 
available on most browsers, in this book we follow general usage and use the 
terms loosely, trusting that it will be clear from the context what we're 
talking about. The term "script" refers to any (procedural) code written in 
JavaScript.</para>
 
 <para>LZX incorporates a partial implementation of the <ulink 
url="http://www.ecma-international.org/publications/standards/Ecma-262.htm";>ECMA-262
 Edition 3 specification</ulink>.</para>
 
@@ -103,11 +103,11 @@
 
 <para>Depending on your background, you may find certain aspects of LZX 
familiar or foreign. For example, if you have experience with Java but not 
JavaScript, you will need to be aware of key differences in the languages, in 
particular with regard to data typing, the object model, and the scope or 
namespace of variables.</para>
 
-<para>Like other so-called scripting languages such as Perl and Python, 
Javascript is a loosely-typed language — you can declare a variable without 
specifying its type. This makes for rapid prototyping and arguably more 
readable code, but it also makes it possible for data-type errors to go 
undetected.</para>
+<para>Like other so-called scripting languages such as Perl and Python, 
JavaScript is a loosely-typed language — you can declare a variable without 
specifying its type. This makes for rapid prototyping and arguably more 
readable code, but it also makes it possible for data-type errors to go 
undetected.</para>
 
-<para>JavaScript's approach to object-oriented programming lacks the rigor or 
Java's. There are no packages or interfaces, for example, nor is it possible to 
finalize classes. Finally, the behavior of local and global variables in 
JavaScript is sometimes surprising to Java programmers.</para>
+<para>JavaScript's approach to object-oriented programming lacks the rigor of 
Java's. There are no packages or interfaces, for example, nor is it possible to 
finalize classes. Finally, the behavior of local and global variables in 
JavaScript is sometimes surprising to Java programmers.</para>
 
-<para>Conversely if you are an experienced JavaScript programmer you may have 
to "unlearn" certain assumptions, in particular with regard to the availability 
of certain libraries and functions. For example, while the Math library is 
present in LZX, the the REGXEP library for regular expressions is not. 
Moreover, LZX has a more complete object oriented programming model than does 
simple JavaScript. That is, LZX has classes and inheritance.</para>
+<para>Conversely, if you are an experienced JavaScript programmer you may have 
to "unlearn" certain assumptions, in particular with regard to the availability 
of certain libraries and functions. For example, while the Math library is 
present in LZX, the the REGXEP library for regular expressions is not. 
Moreover, LZX has a more complete object-oriented programming model than does 
simple JavaScript. That is, LZX has classes and inheritance.</para>
 
 <para>If you have experience with neither Java nor JavaScript you may want to 
first work through a JavaScript tutorial like the ones available at <ulink 
url="http://www.w3schools.com/js/default.asp";>w3schools.com</ulink> before 
delving too deeply into LZX.</para> 
 
@@ -155,7 +155,7 @@
 'implicit this' is a term we use to describe the behavior of free  
 references in LZX methods and handlers.  In LZX classes, the object  
 bound to `this` is implicitly 'in scope' in all methods and handlers,  
-as it is in Java (this is _not_ the case in Javascript).  We added  
+as it is in Java (this is _not_ the case in JavaScript).  We added  
 this feature to LZX because we felt it led to more intuitive and  
 compact code.
 </para>
@@ -211,7 +211,7 @@
 `global.attr =`.
 </para>
 <para>
-`with` is a Javascript primitive that can be used to establish scope. Free 
variables in the body of a `with` will be looked up first in the object that is 
the argument (and then in whatever the enclosing scope is). Functions close 
over their scope when they are defined, so by wrapping `with (_root)` around 
each global function definition, free references in functions will be looked up 
in the global context (as opposed to the SWF implementation, where global 
functions are given a null scope, so when they are called from the idle 
context, their free references appear unbound).
+`with` is a JavaScript primitive that can be used to establish scope. Free 
variables in the body of a `with` will be looked up first in the object that is 
the argument (and then in whatever the enclosing scope is). Functions close 
over their scope when they are defined, so by wrapping `with (_root)` around 
each global function definition, free references in functions will be looked up 
in the global context (as opposed to the SWF implementation, where global 
functions are given a null scope, so when they are called from the idle 
context, their free references appear unbound).
 </para>
 <para/><section><title>"this" in states and animators</title>
 <para>
@@ -372,7 +372,7 @@
 <para>In JavaScript, the <literal>this</literal> keyword is used to refer to 
the object through which the function was invoked. </para>
 <para/></section><section><title>Handlers</title>
 <para>
-A handler is like a method. But whereas a method is invoked by its name, a 
hander must be associated with a particular event. The handler
+A handler is like a method. But whereas a method is invoked by its name, a 
handler must be associated with a particular event. The handler
 script will be executed when the referenced view receives an event
 with this name. For example,</para>
 
@@ -411,11 +411,11 @@
 <para>There are three general categories of methods and handler:</para> 
 <itemizedlist spacing="compact"><listitem><para>   "On init" methods that are 
invoked when their parent object is created;</para></listitem><listitem><para>  
 handlers that are invoked when their parent object receives a specified 
event;</para></listitem><listitem><para>   named methods that are explicitly 
invoked by other methods.</para></listitem></itemizedlist>
 
-<para>Note that you can define a method using conventional Javascript syntax, 
but in LZX the preferred way to declare a method is with the 
<indexterm><primary>method</primary></indexterm><sgmltag 
class="element">&lt;method&gt;</sgmltag><remark role="fixme">[unknown 
tag]</remark>
+<para>Note that you can define a method using conventional JavaScript syntax, 
but in LZX the preferred way to declare a method is with the 
<indexterm><primary>method</primary></indexterm><sgmltag 
class="element">&lt;method&gt;</sgmltag><remark role="fixme">[unknown 
tag]</remark>
 <!--unknown tag: method-->
  tag.</para> 
 
-<para>Also note that in LZX, unlike many other object oriented systems,
+<para>Also note that in LZX, unlike many other object-oriented systems,
 you can override a method in an instance of an object. This topic is
 covered in <xref linkend="class-inheritance"/>.</para>
 
@@ -593,7 +593,7 @@
 then from the point of view of JavaScript, this would be an lz.bob object.
 </para>
 <para>
-In earlier versions of LZX (before OpenLaszlo 4), there was an asymmetric 
mapping between tag and class names, often of the form LzFoo &lt;—&gt; 
&lt;foo&gt;, as in the correspondance between, say the class name 
<indexterm><primary>LzView</primary></indexterm><classname>LzView</classname> 
and the tag name <indexterm><primary>view</primary></indexterm><sgmltag 
class="element">&lt;view&gt;</sgmltag>. (Notice in LzView the mixed case, and 
the absence of the period between lz and the tag name.) Also there was a 
distinction between LFC classes and user-created classes.  The new lz.foo form 
is consistent across LFC classes and user-created classes. The old forms will 
still work, and they appear throughout this documentation and in example code. 
At some point, however, the old forms will probably be deprecated, and it would 
be a good practice to adopt the new form in your code.</para>
+In earlier versions of LZX (before OpenLaszlo 4), there was an asymmetric 
mapping between tag and class names, often of the form LzFoo &lt;—&gt; 
&lt;foo&gt;, as in the correspondence between, say the class name 
<indexterm><primary>LzView</primary></indexterm><classname>LzView</classname> 
and the tag name <indexterm><primary>view</primary></indexterm><sgmltag 
class="element">&lt;view&gt;</sgmltag>. (Notice in LzView the mixed case, and 
the absence of the period between lz and the tag name.) Also there was a 
distinction between LFC classes and user-created classes.  The new lz.foo form 
is consistent across LFC classes and user-created classes. The old forms will 
still work, and they appear throughout this documentation and in example code. 
At some point, however, the old forms will probably be deprecated, and it would 
be a good practice to adopt the new form in your code.</para>
 
 
 <para/></section><section><title>How to Combine Tags and Script</title> 
@@ -613,7 +613,7 @@
 
 <para/></section><section><title>What's Meaningful</title> 
 
-<para>Although the admixture of two different sets of language rules in one 
language does create opportunities for confusion, it's fairly easy to recognize 
how LZX programs are structured, and what kind of code goes where. There are 
only a few contexts in which script code can appear in LZX programs. After you 
learn to recognize these contexts you are unlikely to be confused about what 
syntax applies. Javascript is used:</para> 
+<para>Although the admixture of two different sets of language rules in one 
language does create opportunities for confusion, it's fairly easy to recognize 
how LZX programs are structured, and what kind of code goes where. There are 
only a few contexts in which script code can appear in LZX programs. After you 
learn to recognize these contexts you are unlikely to be confused about what 
syntax applies. JavaScript is used:</para> 
 <itemizedlist spacing="compact"><listitem><para>between an opening and closing 
<literal>&lt;script&gt;</literal> and <literal>&lt;/script&gt;</literal> 
tag;</para></listitem><listitem><para>between an opening and closing 
<literal>&lt;method&gt;</literal> and <literal>&lt;/method&gt;</literal> 
tag;</para></listitem><listitem><para>between an opening and closing 
<literal>&lt;handler&gt;</literal> and <literal>&lt;/handler&gt;</literal> 
tag;</para></listitem><listitem><para>with the double-quoted right hand value 
of an assignment statement within certain tags, such as 
<literal>oninit="<replaceable>script expression</replaceable>"</literal> 
.</para></listitem></itemizedlist>
 
 


_______________________________________________
Laszlo-checkins mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins

Reply via email to