|
|||||
|
|||||
Prerequisite Concepts | |||||
What's new |
The omxerces library has been updated to use the latest release of the Xerces parser from the Apache Group, Xerces 2.4.0.
A new form of the open
action has been added: open new
. Therefore, instead of
local stream s variable initial-size 1 new s{"one"} before [1] open s{"one"} with referents-allowed as buffer
the following shorter form can be used
open new s{"one"} before [1] with referents-allowed as buffer
The syntax of set new
when applied to a stream shelf with modifiers and an insertion point has been updated to conform with other uses of insertion points and modifiers in the language. The old form has been deprecated and may be dropped in future releases of the language.
New forms of using output as
and output-to
has been added: stream attachments (files, external output functions, and referents) can now be specified, as well as stream references. Therefore, instead of
local stream s open s with referents-allowed as file "foo.txt" using output as s output "Hello, World!%n" close s
the following shorter form can be used
using output as file "foo.txt" with referents-allowed output "Hello, World!%n"
A new stream modifier has been added: append
. This opens the corresponding attachment in appending mode:
local stream s open s with append as file "foo.txt"
The old idiom for opening an attachment in appending mode, which specified an attachment in the reopen
action, e.g.,
reopen s as file "foo.txt"
has been deprecated and may be dropped in future releases of the language. The append
modifier can be used with the open
and output-to
actions, and the using output as
prefix.
The http and https protocols in the omvfs library have been extended to allow specification of proxy servers as well as user and password information that is not passed as part of the URL. (eg. http://user:password@host:port/path/to/file/filename )
OmniMark Studio now displays records in the variables tables.
A new tab has been added to the project options dialog, which allows you to specify which classes of warning will be reported.
OmniMark Studio 7.1.2 ships with a number of sample programs designed to demonstrate some of the things that can be done with OmniMark. By default these are installed in the samples sub-directory.
OmniMark 7.1 introduces OmniMark Studio for Eclipse, a cross-platform development environment, which also allows you to take advantage of a rich set of other development tools that have been built for the Eclipse platform. OmniMark Studio for Eclipse is available for all supported platforms.
You can once again run programs from source code in your OmniMark Server or Desktop Engine, using the -s command. A version of the engine, known as VM, which only runs compiled scripts, is still available.
OmniMark now includes records. A record is a user-defined data type that may contain multiple fields of different types.
You can specify an alias for the shelf that you are repeating over. The alias name is specified using the as keyword following the name of the shelf. Specifying an alias is required when you iterate over a shelf that is a field of a record.
You can use the conditional operator ->...|... to select one of two values based on a condition.
You can now write overloaded functions, which are two or more functions with the same name but which operate on data of different types.
You can now write infix functions, where the name of the function goes between its two arguments. Thus the function works like an operator.
Compiler warnings have been categorized and enabled by default. You can control warnings using new command-line options:
-warning-error
promotes the class of warning to error
-warning-ignore
tells the compiler to ignore the specified class of warnings
-warning-report
reports the warning and compiling continues.
Constant shelves can now be used in places where constant values used
to be required. For example:
constant integer months-per-year initial {12} global stream months size months-per-year
Function arguments can now be declared write-only
. If an argument is declared write-only
, the following conditions apply:
The OMRTF library allows you to parse RTF documents, much as you parse SGML or XML documents.
The OMVFS library now has functions that enable you to access files using the HTTP, HTTPS and FTP protocols.
The Web Services Broker allows you to host web services and direct web service requests.
You can use #schema
to retrieve a schema for an XML document or to test if an external text entity represents an XML Schema.
The join operator ||
is now streaming in all contexts. In earlier versions, join was buffered in some contexts.
OmniMark 7.0.2 supports two new "content is ..." tests:
content is empty-tag
returns true when the element being asked about
was specified using an empty element tag. For XML this is a tag of the
form "<foo/>".
content is declared-empty
returns true when the content model of the
element being asked about is empty.
Module interfaces have been created for the following libraries:
The functionality that was previously found in OMUTIL has been reorganized into three modules:
.xmd
" suffix, in the same way that OmniMark programs use ".xom
" and OmniMark include files use ".xin
". For more detailed information about OmniMark Modules, please see the Modules page.
set #"a" to #"b" #"+" 1
optional
function arguments can now be dynamic values.The default initial value is calculated each time the function is called and the default value is needed. This means that default values can now depend on global
and constant
values.
Prerequisite Concepts What's fixed |