State Machines; IBM's XMI?

James Tauber jtauber at
Fri Apr 9 03:21:21 BST 1999

> 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,
> 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,

My initial work was using the DTD:

<!ELEMENT FSTN (state+)>
    ID    ID    #REQUIRED
    start    IDREF    #REQUIRED

<!ELEMENT state (arc*)>
<!ATTLIST state
    ID    ID    #REQUIRED

<!-- content of arc is label. arc is a jump arc if empty content -->
    to    IDREF    #REQUIRED

I considered using an NMTOKEN attribute for the label of the arc, ie:

    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
    to    IDREF    #REQUIRED
    label    IDREF    #IMPLIED

If people have comments on this, I'm more than willing to put something more
formal together.


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list