[sc34wg3] [topicmapmail] PSI issue
G. Ken Holman
gkholman at CraneSoftwrights.com
Thu Jul 23 09:07:41 EDT 2009
At 2009-07-23 06:32 -0400, you wrote:
>I am trying to design PSIs to represent the markup constructs of both
>ISO 26300 and ISO 29500.
Interesting! I have had a number of false starts trying to initiate
PSI projects.
>I am considering generating PSIs along the lines of:
>
>http://psi.somewhere.com/odf/element/(elementName).html
>
>http://psi.somewhere.com/odf/attribute(attributeName).html
>
>http://psi.somewhere.com/ooxml/element/(elementName).html
>
>http://psi.somewhere.com/ooxml/attribute(attributeName).html
>
>One modest improvement would be to add version information to that
>string, thus:
>
>http://psi.somewhere.com/odf/1.0/element/(elementName).html
For UBL I'm choosing not to add the version number because our
mandate covers only minor revisions of UBL 2.0, so only UBL 2.x, and
within all of UBL 2.x any given construct retains its semantics.
It happens we don't put any business entity in an attribute.
>However, there is a more fundamental problem.
>
>There are attributes with the same names that have different values
>depending upon the element where they appear. This is true for both ODF
>and OOXML. Murata-san assures me this is a very powerful schema design
>feature. I have a less generous opinion of this "feature" but I forebear
>further comment as the schemas are what they are and I can't change that.
>
>So I can't have, for instance:
>
>http://psi.somewhere.com/odf/1.0/attribute/office_name.html
>
>without confusing the different uses of that attribute.
I think you can do with explicitly using "/element/" or "/attribute."
in the PSI. If the PSI set is assumed to be for the XML vocabulary,
then you can probably get away with the following set of files:
http://psi.somewhere.com/odf/1.0/vocabulary/elementName/index.html
http://psi.somewhere.com/odf/1.0/vocabulary/elementName/attributeName/index.html
and the following PSI strings:
http://psi.somewhere.com/odf/1.0/vocabulary/elementName
http://psi.somewhere.com/odf/1.0/vocabulary/elementName/attributeName
which would be resolved in a server to the index.html files. This
allows you to have an entire directory in which to put artefacts that
might be referenced by the PSI documentation (images, etc.).
This addresses attribute context by being in a subdirectory of the
element subdirectory. Now there is no ambiguity ... you know exactly
what the semantics are. I am assuming, however, that ancestral
context (beyond parent) is merely addressed in the semantics and is
not a separate set of semantics.
Using various server-side mechanisms (rewrite, symbolic links, etc.)
you can reduce the number of server artefacts, but the end result
would be transparent to the user and the scheme would be, I think,
obvious to someone who sees it without having any coaching. After
seeing a couple of examples, they would know what to do for any
attribute they had.
Note you wouldn't need "/vocabulary/" if the *only* reason you are
creating PSI strings is for the elements and attributes, but I'm
guessing there may be other PSI strings related to these
specifications so this would separate the vocabulary from others.
>The goal of this initial step is to develop a structure for the PSIs and
>then to generate a generous sampling of them to inspect for other
>issues. There are attributes whose behavior varies depending upon the
>presence (or absence) of other attributes either on the same element or
>a parent element but I don't see that as changing the subject in question.
Nor do I ... the semantics for a given attribute include issues of
the impact of other attributes, but that is just part of its definition.
In my PSI efforts I'm trying to create 2000 PSI pages, one for each
of the business entities in UBL, to be put in the OASIS PSI server,
and hyperlink those bidirectionally to 2000 wiki pages in
http://ubl.xml.org so that the committee manages the formal
definitions and semantics in the PSI documentation and the community
supplements that with anything they want to say about each entity in
the wiki discussion. From the wiki you can get to the official
read-only committee specification. From the committee PSI you can
get to what the community thinks of a particular concept, how it
should be used, examples, etc., all of which are not really part of
the committee-managed semantics.
It turns out the roadblocks are pedestrian concerns about how to
mount 4000 web pages on two servers. Once I'm told how I can do
that, the rest is just a simple matter of stylesheet writing (I've
done a bit of that before).
I hope this suggestion is considered helpful. Good luck in your PSI project!
. . . . . . . . . . . . . Ken
--
XSLT/XQuery/XSL-FO hands-on training - Oakland, CA, USA 2009-08-03
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/t/
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman mailto:gkholman at CraneSoftwrights.com
Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/t/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
More information about the sc34wg3
mailing list