- From: Smith, Virginia (HP Software) <virginia.smith@hp.com>
- Date: Sun, 4 Nov 2007 20:15:08 -0000
- To: <public-sml@w3.org>
- Message-ID: <4ED4BEA3C04CAF4C8F9BEE10116D2E300364294A@G3W0067.americas.hpqcorp.net>
Attached is the latest (and hopefully the last!) draft of my working document. I've spent lots of time on this and thought about each proposal and have arrived at what I consider the best option - which is, in fact, very close to what we started out with in the original submission. (Somehow, that's comforting.) I was not around when the discussion of alternatives was started and so the following comments may not apply but I was trying to think of why we got sidetracked from our original cycle 'algorithm' after we changed "document" to "element". (In other words, why did I spend so much time on this only to come up a solution that we started with?) I think that maybe the discussion of the fact that an SML reference does not point to itself was a red herring and led us to think we needed alternative cycle definitions. There was discussion about the fact that, now that we can't start with documents as nodes, how do we identify the elements that make up the cycle, specifically the 1st element. I think the answer to this is that we don't need to start the graph with the elements. The key is that the directed graph should be created first by determining the arcs (SML references of a given type and derived types) and only then can the nodes of the graph be discovered (the targets of this set of references). Then cycle detection can commence. At any rate, I added my recommended spec changes to the bug so you can read it there. If you're interested in my background notes, you can read the attached working document. The doc also contains my recommendation. http://www.w3.org/Bugs/Public/show_bug.cgi?id=4639 This proposal will also cover bugs 5108 and 4984. The only thing left to point out is the following (and, based on our previous discussions, I think we just live with this). "sml:ref" is allowed only in the instance document to indicate that that the element is a reference (no matter what is defined in the schema). "sml:acyclic" is only required when the reference cannot have cycles and must appear in a complexType in a schema document. Instance document authors must remember to add sml:ref to all instance SML references whereas the sml:acyclic attribute is defined in the schema. -- ginny
Attachments
- application/octet-stream attachment: CyclesInSMLModels.pdf
- application/msword attachment: CyclesInSMLModels.doc
Received on Sunday, 4 November 2007 20:13:21 UTC