RE: About XML to multiple language/multiple outputs

Subject: RE: About XML to multiple language/multiple outputs
From: "Didier PH Martin" <martind@xxxxxxxxxxxxx>
Date: Tue, 24 Aug 1999 00:02:22 -0400
Hi Matthias,

> Matthias said:
> ---------------------------------------------------
> Isn't this also what the hytime grovepos archform is doing ? (but I
couldn't
> find it in the 2. edition anymore, so can't say for sure)
>
> Didier answer:
> ---------------------------------------------------
> Yes but not in a standard way. We need a standard way to do it. grovepos
> could be expressed in any kind of conventions. XPath was a lot inspired by
> grovepos.
>

Matthias said:
-----------------------------------------------------
I don't understand. Is HyTime not a standard ? Or has grovepos been removed
from it in the second edition ? If so, why ?

Didier answer:
-----------------------------------------------------
Yes, grovepos is not present in Hytime 2 (simple, do a search for it and the
result is an empty set). However, Hytime has a query language in the form of
SDQL, the same language used for DSSSL.

I should say that it is recommended not mandatory. The construct used to
query or access a particular grove node is the queryloc expression. This
expression is in certain ways the equivalent of XPath. However, XPath
brought to the table a very compact notation (more compact than SDQL).

So:
a) yes Hytime is a standard
b) grovepos is not present in Hytime V2
c) The Hytime construct nearer to grovepos is the queryloc construct. This
latter could be using SDQL as a grove addressing scheme.
d) XPath has the advantage to be a compact notation.
e) because Hytime make only a recommendation to use SDQL, an implementation
can creates its own query or path language. This could leads to non standard
query constructs or query languages. Recently, an other ISO recommendation
(ISMID) made the claim to use SDQL as the query language. In this last case,
it is not said that SDQL is recommended but used a the ISMID query language.
But, because ISMID is not yet a finalized standard, this may change (you can
download an ISMID specification version from the ISO site - open to the
public). Actually the main engine using SDQL as a grove access notation is
DSSSL. A major grove based Hytime implementation is using a custom grove
location addressing schema and not SDQL. Outside of DSSSL, SDQL even if
recommended as a grove query language is scarcely used (if not used at all)
by other environments.
f) because SDQL is the recommended query language for Hytime and DSSSL, we
still have the problem that, in some occasion SDQL is more verbose and less
compact than an equivalent XPath construct. The best way to understand fully
this last sentence is to read carefully the XPath specs (without any
preconceived idea) and to objectively compare it to SDQL. Then the
advantages and disadvantages of each query language become apparent.

Extract from Hytime v2:
------------------------------------
Hytime recommends the use of the Standard Document Query Language (SDQL),
defined in the DSSSL standard,
ISO/IEC 10179:1996 Document Style Semantics and Specification Language, for
the queryloc and nmquery
element forms. The SDQL language includes equivalents of all the HyTime
location address forms.
NOTE 201 This means, in part, that any location ladder can be replaced by
the equivalent SDQL query.
However, any query notation can be used with HyTime as long as the notation
can operate on groves and returns
node lists as the result of the query.
NOTE 202 Any existing query mechanism can be integrated into a HyTime system
by defining an appropriate property set
and grove construction process for the data notation it is designed to work
with.
HyTime defines a general query-based location address, queryloc, that can be
used both for general queries and
as the base for specialized location addresses derived from the queryloc
form. The hyperlinks module defines two
queryloc-form location addreses, linkloc and anchloc, for addresing
hyperlinks and their anchors according to their
HyTime-specific semantics as reflected in the HyTime architectural semantic
grove (see 8.3 Hyperlink-related
location addresses). The scheduling module defines a queryloc-form location
address, fcsloc, for addressing
events in event schedules (see 9.10 Finite coordinate space location
address).
7.11.1 Query location address
The element form query location address ( queryloc) contains a query that
returns a node list.
If the location source for a queryloc is a multiple location and is not a
span location, each node in the location
source is treated as the root of a separate query domain.
The attribute query notation ( notation) specifies the data content notation
governing the query specified by the
query location address.
NOTE 203 The data attributes for elements (DAFE) facility can be used to
provide notation-specific attributes for queryloc-form
elements (see A.5.3 Data Attributes for Elements (DAFE)).
The attribute no data found ( notfound) indicates the expected system
response when the query fails to return any
nodes: either report an RHE (?error?) or ignore the query location address
(?ignore?).



 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread