[jawsscripts] Re: Introducing HomerJax script library for accessing Internet data

  • From: "Geoff Chapman" <gch@xxxxxxxxxxxxxxxx>
  • To: <jawsscripts@xxxxxxxxxxxxx>
  • Date: Thu, 13 Aug 2009 03:38:50 +1000

right. thanks Jamal. I'll pass that on to jim. this is all way above my head
as yet.


----- Original Message ----- 
From: "Jamal Mazrui" <empower@xxxxxxxxx>
To: <jawsscripts@xxxxxxxxxxxxx>
Sent: Thursday, August 13, 2009 2:15 AM
Subject: [jawsscripts] Re: Introducing HomerJax script library for accessing
Internet data


> Thanks, Geoff.  Regarding a browser environment and Java, HomerJax code
> could be useful for tasks that do not involve accessing the local file
> system, since the browser host prevents that subset of actions.  Also,
> JavaScript is a standardized language, but HomerJax makes use of COM
> servers that are only available on Windows.  Java is different from
> JavaScript, though JavaScript and Java can communicate within a browser .
>
> Jamal
>
> On Wed, 5 Aug 2009, Geoff Chapman wrote:
>
> > Date: Wed, 5 Aug 2009 13:51:54 +1000
> > From: Geoff Chapman <gch@xxxxxxxxxxxxxxxx>
> > Reply-To: jawsscripts@xxxxxxxxxxxxx
> > To: jawsscripts@xxxxxxxxxxxxx
> > Subject: [jawsscripts] Re: Introducing HomerJax script library for
> >     accessing Internet data
> >
> > yeah Jamal your amazing!
> >
> > how do you do all this stuff man!  I mean, your brain! doesn't it
explode?
> > mine would've years ago.
> >
> > I've sent this on to Jim snowbarger as well, and he's very interested in
it
> > right now aas his company's about to introduce some java application
with a
> > browser interface, which he envisages this package might help him suss
> > through.
> >
> > Do you think it could Jamal?
> >
> > ----- Original Message -----
> > From: "Donald Marang" <donald.marang@xxxxxxxxx>
> > To: <jawsscripts@xxxxxxxxxxxxx>
> > Sent: Wednesday, August 05, 2009 4:29 AM
> > Subject: [jawsscripts] Re: Introducing HomerJax script library for
accessing
> > Internet data
> >
> >
> > > It might take me a while to get my head around this package.  I can
> > imagine
> > > a few examples I want to tackle where these functions would come in
handy.
> > > I will probably try to understand Webrequest functions first.  Thanks
for
> > > making this package available!
> > >
> > > Don Marang
> > >
> > >
> > > ----- Original Message -----
> > > From: "Jamal Mazrui" <empower@xxxxxxxxx>
> > > To: <JAWSScripts@xxxxxxxxxxxxx>
> > > Sent: Monday, August 03, 2009 3:27 PM
> > > Subject: [jawsscripts] Introducing HomerJax script library for
accessing
> > > Internet data
> > >
> > >
> > > >I have created a JAWS script library for accessing Internet resources
> > > > called HomerJax, available at
> > > > http://EmpowermentZone.com/HomerJax.zip
> > > >
> > > > It is a collection of JavaScript functions that become available to
JAWS
> > > > scripts via the files HomerJax.jsb and HomerJax.wsc.  No COM server
has
> > to
> > > > be registered to access the HomerJax object and its many methods.
> > > >
> > > > HomerJax.jss currently contains two functions:  CreateHomerJax() for
> > > > creating the object, and HomerJaxDemo() for running an interactive
demo
> > of
> > > > its capabilities.  The demo shows how you can get the content type,
> > source
> > > > HTML, or plain text of a web page; download a file to disk; get
public
> > > > messages from Twitter.com, or post a tweet if you have an account.
The
> > > > code accesses data in JSON format (JavaScript Object Notation) as
well
> > as
> > > > in XML.  The demo may be run by launching Notepad and pressing
> > > > Alt+JAWSKey+D.
> > > >
> > > > Documentation is in the files HomerJax.txt and HomerJax.htm.  For
ease
> > of
> > > > learning more via this email message, I am pasting the initial
sections
> > of
> > > > documentation below.
> > > >
> > > > I credit list members:   Bryan Garaventa for information on the
> > > > MSXml2.XMLHTTP object, and Martin Slack for information on the
> > > > System.Collections.ArrayList object.
> > > >
> > > > Jamal
> > > >
> > > > HomerJax
> > > > Beta 0.6
> > > > August 3, 2009
> > > >
> > > > Copyright 2009 by Jamal Mazrui
> > > > GNU Lesser General Public License (LGPL)
> > > >
> > > > Contents
> > > >
> > > > Introduction
> > > > Overview
> > > > COM Exchange Format
> > > > Dialog Methods
> > > > File Methods
> > > > Folder Methods
> > > > HTML Methods
> > > > JScript Data Methods
> > > > Path Methods
> > > > Regular Expression Methods
> > > > Registry Methods
> > > > Shell Methods
> > > > String Methods
> > > > Variant Data Methods
> > > > Web Request Methods
> > > > XML Methods
> > > > Development Notes
> > > > ----------
> > > >
> > > > Introduction
> > > >
> > > > HomerJax is a library of convenience functions for accessing
Internet
> > > > resources.  It is written in JScript, the Microsoft version of
> > JavaScript,
> > > > and is dependent on several COM servers distributed with Windows.
The
> > > > word "Homer" is a brand name I sometimes use for developer tools I
> > create.
> > > > The word "Jax" derives from Ajax, which originally meant
"Asynchronous
> > > > JavaScript and XML."  Ajax technologies focus on building dynamic
user
> > > > interfaces in web browsers.  HomerJax functions use some of these
core
> > > > technologies, but focus on reading, interpreting, and writing data
from
> > > > the Internet.
> > > >
> > > > Since the Internet is a great source of accessible information for
> > people
> > > > with visual disabilities who cannot readily read the printed word,
my
> > hope
> > > > is that this library makes it easier for developers, including blind
> > ones
> > > > like myself, to build applications that take advantage of new social
> > > > networking sites such as Twitter, FaceBook, and many others.  I
intend
> > for
> > > > HomerJax to be accessible via various programming environments,
> > including
> > > > the Windows Script Host, screen reader scripting languages, and
other
> > > > programming languages via a COM server interface.
> > > >
> > > > A demonstration program is included that shows how you can easily
get
> > the
> > > > content type, source HTML, or plain text of a web page; how you can
> > > > download a file to disk, how you can get messages from the public
> > timeline
> > > > of Twitter.com, or poast a tweet if you have a Twitter account.  The
> > demo
> > > > shows how data is converted from JavaScript Object Notation (JSON)
to
> > what
> > > > I call COM exchange format, and how XML data may be conveniently
> > accessed
> > > > as well.
> > > >
> > > > The functionality and documentation of HomerJax will improve over
time
> > in
> > > > response to comments, questions, and suggestions.  Code
contributions
> > are
> > > > also welcome.
> > > > ----------
> > > >
> > > > Overview
> > > >
> > > > HomerJax methods are divided into categories indicated by a prefix
at
> > the
> > > > beginning of their names:  Dialog, File, Folder, Html, Js, Path,
RegExp,
> > > > Registry, String, Vt, Web, and Xml.  By convention, HomerJax
variable
> > > > names use lower case prefixes to indicate the data type:  s for
string,
> > i
> > > > for integer, n for floating point number, l for list, d for
dictionary,
> > > > and o for other COM object.  Method and variable names use upper
camel
> > > > case (like the .NET Framework), e.g., XmlGetValue rather than
> > XMLGetValue.
> > > > JavaScript is a case-sensitive language, so methods need to be
called
> > with
> > > > appropriate capitalization.
> > > > ----------
> > > >
> > > > COM Exchange Format
> > > >
> > > > The Component Object Model (COM) is a set of Windows standards by
which
> > > > different programming languages and applications can communicate.
COM
> > > > uses a flexible data type called a variant, which can be an
individual
> > > > value, array of values, or complex object with methods, properties,
and
> > > > events.  In general, any COM client can use string, numeric, and COM
> > > > objects as the data types of parameters or return values.  Some,
> > however,
> > > > cannot use arrays.  COM exchange format is intended to support
> > > > collections, as well as primitive data types, for use by any COM
client.
> > > > Rather than an array, a list COM object is used from the .NET
Framework
> > > > (any version).  A COM object dictionary is also used from the
Windows
> > > > Script Host.
> > > >
> > > > HomerJax includes a method called JsToVt, which converts data in
JSON
> > > > format to variant types understood by JAWS  Script (or any COM
client
> > > > language).  JavaScript arrays are converted to COM objects with the
> > progID
> > > > "System.Collections.ArrayList."  The methods and properties of this
> > object
> > > > are documented at
> > > >
> >
http://msdn.microsoft.com/en-us/library/system.collections.arraylist.aspx
> > > >
> > > >  JavaScript objects, which are like dictionaries, are converted to
COM
> > > > objects with the progID "Scripting.Dictionary."  This object is
> > documented
> > > > at
> > > > http://msdn.microsoft.com/en-us/library/x4k5wbx4(VS.85).aspx
> > > >
> > > >  In Visual Basic and other languages, either of these types of
object
> > > > collections may be iterated with the "For Each" statement.  These
> > objects
> > > > have an "Item" method, which is the default COM method of the
object, so
> > > > syntax can succinctly referr to items without even using the "Item"
> > > > keyword (just using an integer element of a list or string key of a
> > > > dictionary enclosed in parentheses).  The code of the demo program
> > > > illustrates this in getting public messages from Twitter.
> > > >
> > > > HomerJax includes various methods for converting between JavaScript
> > Object
> > > > Notation (JSON), variant data types, and COM exchange format.  This
> > > > provides much flexibility for accessing data on the Internet.
> > > >
> > > > ...
> > > >
> > > >
> > > > __________
> > > > Visit and contribute to The JAWS Script Repository
> > http://jawsscripts.com
> > > >
> > > > View the list's information and change your settings at
> > > > http://www.freelists.org/list/jawsscripts
> > > >
> > >
> > > __________
> > > Visit and contribute to The JAWS Script Repository
http://jawsscripts.com
> > >
> > > View the list's information and change your settings at
> > > http://www.freelists.org/list/jawsscripts
> > >
> >
> > __________
> > Visit and contribute to The JAWS Script Repository
http://jawsscripts.com
> >
> > View the list's information and change your settings at
> > http://www.freelists.org/list/jawsscripts
> >
> __________
> Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>
> View the list's information and change your settings at
> http://www.freelists.org/list/jawsscripts
>

__________ 
Visit and contribute to The JAWS Script Repository http://jawsscripts.com

View the list's information and change your settings at 
http://www.freelists.org/list/jawsscripts

Other related posts: