[sc34wg3] implementer's comments on XTM, 23.2.2003, Rev1.15
Robert Barta
sc34wg3@isotopicmaps.org
Mon, 10 Mar 2003 08:34:11 +1000
Lars et al,
Thanks for your efforts!
General comments:
- maybe put somewhere that XTM is meant as "exchange syntax" not so
much for authoring? As a consequence XTM strives (not yet there) for
orthogonality.
- I appreciate that the former XTM standard is broken apart into
smaller, more manageable things. Much better to read.
- I wonder whether it would be a good idea to merge the syntactic
portions with the semantic (=SAM) ones. So for instance merge (!)
2.1 with 3.2, 2.2 with 3.3, etc.
- I do not like much IDs appearing someplace and not the other. An XML id
is something VERY(!!!) internal and something very XMLish. The
kludge of addressing topics with #topic-id is what it is, a
kludge. It does not point to a topic but to a textual
representation of a topic within a document. There could be millions of
this.
ad 1)
- paragraph 2: When consuming several maps from an XML document it
remains unclear whether the maps should be merged or remain
separate.
- 'architectural processing': either explain it or make a reference
- ....or XSLT transformation_s_ ....
- Issue(xtm-href-xpointer):
I would prefer if TM processing does NOT do too much link magic.
If we keep it orthogonal then the standard has some freedom later.
- Issue(xtm-href-whitespace)
No, raise error. This is XML, anyway, so strictness is ok.
- Issue(xtm-where-resourceref)
It would REALLY be good if the clumsy and cumbersome distinctions
between resourceRef, topicRef, .... would disappear. They slow
down parsing.
Why not allow topics everywhere, regardless where they come from?
- Issue(xtm-unused-ids)
My opinion here is that ALL ids should disappear, even the topic
ids. Implementations may keep them or may reissue new ids for an
application. These can then be used for reification purposes.
A reification of a baseName via a link into an XML document is
weird anyway. It only works for XML while the majority of topics
will come from other sources.
- Issue(xtm-version):
1.1 ? But if so, then there we need a backward compatibility chapter
(and maybe an XSLT sheet).
- Issue(xtm-normative-schema)
I would take section 2 as authoritative and the rest informational.
- Issue(xtm-schema-uri)
I like URIs a lot. Yes.
- Issue(xtm-xlink-type)
No magic here please.
- Issue(xtm-xlink-actuate)
No magic here please. This is NOT about hyperlinks, btw.
- Issue(xtm-xmlbase-everywhere)
No. xml:base is an ugly cludge which is mostly used to hide design
flaws. If someone needs it he can create submaps. I could live
with it on the toplevel, but that's about it. :-)
ad 2)
- first para: can be found in _Appendix_ B....
ad 2.1)
- ...the following _meaning_
- Issue(xtm-fixed-attributes)
I do not quite understand why the default namespace HAS to be set.
It seem perfectly feasible to me to use different prefixes and use
another default name space, especially since the <topicMap> code
can now appear (yippie!) inside any XML document.
What is the problem with
<rumsti:topicMap xmlns:rumsti=".....xtm/1.0">
This would allow to read a map without consuming a DTD, right?
ad 2.2)
- Comment: it is possible to create topics without names.
- Why is the ID for the topic REQUIRED? What for?
If I generate topics from a database, I will have to invent
IDs out of the blue just to be XTM conformant?
ad 2.3)
- typo: elements
- Issue(xtm-subjectidentity-children)
Allowing different URIs here, would this not contradict the idea
that it IS an identity. If there are two URIs involved then the
application should use URNs for it and map them separately.
Probably, I do not fully understand the problem here.
ad 2.7)
- Issue(xtm-variantname-deprecate):
Yes, YES, YES!
ad 2.8)
- Issue(xtm-parameters-deprecate):
Yes, YES, YES!
ad 2.9)
- I wonder whether this should be allowed:
<scope/>
indicating the 'unconstrained scope'.
Since we are there, for an application it would be MUCH simpler to
only allow ONE topic for a scope. If someone wants to have two
topics for a scope, he can build one for this purpose.
ad 2.12)
- Issue(xtm-resourcedata-markup)
No special markup handling. Best would be completely transparent
handling. One issue here is MIME typing, but I guess
<resourceData rhospace:MIME="application/weird">(*&(**&(&&*^&*^</resourceData>
should work.
ad 2.14)
- can we enforce here, that there is ALWAYS a playing topic and if
there is none, then the predefined topic "something" is
used. This is an exchange syntax, so it should be simple.
Same for the roleSpec.
- Issue(xtm-member-id)
No ID, please. There must be other means to reify things
consistently in a map.
ad 2.15)
- allow resourceRef as well? Why not consistently, even though it
may not make perfect sense everywhere?
ad 2.16)
- Issue(xtm-topicref-notopic)
I would not see it as an error, although the TM processor might
flag a warning. Autogeneration of topics works pretty well.
- Issue(xtm-topicref-notatopic)
Yes, it would be an error, but I do not think that inside an XTM
document one can enforce that a URI is really pointing to a topic.
What about
tm:/my.topicmap.server/mapA/mapB/topicT
This can only be checked at processing time.
ad 2.18)
- typo: significance
ad 2.19)
- why having 'FIXED' here?
- Issue(xtm-mergemap-reference)
Since we do not have a special class of URIs which point to Topic
Maps specifically, we have to stay on the document level. And if
we have allowed a document to contain several maps, so be it.
ad 3)
- the first bullet is not all too clear to me.
- subsection "Processing" cannot be found.
- "document order" is arbitrarily restrictive.
- Issue(xtm-namespace-support):
Yes, namespace should be ok.
- Issue(xtm-unknown-elements)
Forward compliance would be more important for me.
ad 3.14)
- ...If the member element _contains_ no roleSpec....
ad 3.15, 16, 17)
- should the processor flag a warning if it creates a topic item
out of the blue?
ad 3.18)
- if the .... URI has already been processed, nothing further is done...
What if the map is stateful, i.e. depends on the time when I load it?
What about a map which contains a topic MSFT-stock-quote and the value
differs.
- If external reference cannot be followed => raise exception
- If reference is not external, leave it up to the application
- Issue(xtm-mergeMap-and-topicRef):
If the processor pulls in a map because of a topicRef (I can see
nice DoS attacks against TM servers coming), then I would treat
this completely separate from a mergeMap.
- Why is a merged-in map not completely inhaled by the sourrounding
map? What is this business with a subordinate map. This is a completely
new concept and would have to be dealt with from the beginning on.
ad 4)
- Comment: There is a version number here. See above.
- bullet 2: "XTM constraints" cannot be found anywhere.
- bullet 4: this is a tautology.
It is clear what is meant, but it is too weak for a standard.
----- End forwarded message -----