[
Lists Home |
Date Index |
Thread Index
]
- From: "James Tauber" <jtauber@jtauber.com>
- To: "Sall, Ken" <ksall@cen.com>, <xml-dev@ic.ac.uk>
- Date: Fri, 9 Apr 1999 09:17:03 +0800
> Does anyone know of efforts to represent state machines (FSA) in XML? From
> their DTD, it would seem that IBM's XMI (XML Metadata Interchange) does,
but
> a quick search of their 2 PDF docs didn't reveal "state machine", just
> "state".
I was playing around with FSAs in XML a little while ago (actually, all
sorts of things: recognizers, generators, transducers; finite-state,
recursive).
My initial work was using the DTD:
<!ELEMENT FSTN (state+)>
<!ATTLIST FSTN
ID ID #REQUIRED
start IDREF #REQUIRED
>
<!ELEMENT state (arc*)>
<!ATTLIST state
ID ID #REQUIRED
>
<!ELEMENT arc (#PCDATA)>
<!-- content of arc is label. arc is a jump arc if empty content -->
<!ATTLIST arc
to IDREF #REQUIRED
>
I considered using an NMTOKEN attribute for the label of the arc, ie:
<!ELEMENT arc EMPTY>
<!ATTLIST arc
to IDREF #REQUIRED
label NMTOKEN #IMPLIED
>
Another possibility would have been to "declare" labels:
<!ELEMENT FSTN (labels,states)>
<!ELEMENT labels (label+)>
<!ELEMENT states (state+)>
<!ELEMENT label (#PCDATA)>
<!ATTLIST label
ID ID #REQUIRED
>
<!ATTLIST arc
to IDREF #REQUIRED
label IDREF #IMPLIED
>
If people have comments on this, I'm more than willing to put something more
formal together.
James
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)
|