SMILGen is an XML editor designed for use with SMIL 2.0, RealPix, and RealText.
This allows authors to worry about the content that they are trying to author with out having to remember each quote and closing brace. SMILGen also understands the languages it authors, it knows what attributes a specific element uses or what child elements a given element may contain.
Both of these features help eliminate a number of common XML syntax errors as well as making it easier to edit with out having a reference to the language right by your side.
Internally SMILGen uses objects to represent each known element. The element objects know what children they may contain or what attributes they have. SMILGen uses this information to assist content authors by letting them know what children an element may contain or by displaying the attributes for a given element when it is edited.
SMILGen also has namespace support both for known namespaces and unknown namespaces. Known namespaces can be imported into any document at which point all of their attributes and elements become available to the document. Unknown namespaces can be parsed as well.
Although SMILGen is not psychic and will not know about elements or attributes that are NOT in the document, it will generate a namespace representation of the imported namespace and it will deduce what elements and attributes are available in the namespace based upon the data in the document.
SMILGen currently supports SMIL 1, SMIL 2 and RealPix. It is designed to be modular. Any xml language that does not use #PCDATA can have a class representation created with out a great deal of effort. Future versions (1.5-2.0 time frame) will also have support for xml languages that allow #PCDATA and inline attributes.
· Active element highlight doesn't stretch to full window width if the window is widened past the width of the widest element. Need to find a way to get the window width if it's larger and update to that.
· Line wrapping isn't doing a great job, doesn't seem to take into account the indent and line number width on lines after the first (except with in comments).
· Windows versions have a focus issue with tear off menus where the last selected menu stays selected and you need to select a diferent menu in order to be able to re select the first one.
· Does not happen on PPC Linux sys. Tkinter issue?
· Test document functionality uses temp files in a temp directory. This doesn't work well if valid relitive paths are used cause they wont actualy be relitive. Test doc only works for fully qualified paths. Need to write temp docs to temp file in same location as saved doc and then remember them to clean them up when done.
· Documents containing qualified namespace attributes that are child attributes of an element of the current namespace will fail. ( This work is in development right now and will be fixed by 1.0 ).
· Pop-up menus on Windows platforms seem to "drop through" some times when they are clicked, causeing the underlying window to recieve the click.
· Does not happen on Linux sys. Win Tkinter issue?