Fantastic

The World's Greatest XML Editor for Mac OS X
Alpha Test 1

Jim Rankin
June 28, 2004


Alpha Test

Fantastic wants to be the world's greatest XML editor for Mac OS X.

Fantastic is not a complete application, either in terms of bug fixes or features. The purpose of this Alpha Test is to determine whether Fantastic's design and planned features match what is expected of the world's greatest XML editor for OS X. If you want to be part of creating OS X's greatest XML editing experience, mail jimbokun@mac.com to inquire about becoming a Fantastic tester.


Requirements

Fantastic runs on Mac OS 10.3 or higher.


Design Goals

These are the features that make editing XML with Fantastic a distinctive, authentic Mac OS X experience. Fantastic is built almost entirely on Mac OS X native technologies.

Schema based editing

Inspectors

Inspectors are windows whose contents change as the selection in the document changes, providing more information about whatever is selected. Get Info in the Finder serves a similar function, but the Finder opens a different window each time you Get Info on a different selection.

XPath

Fantastic uses Excelsior! Path, an open source, Cocoa compatible XPath framework built with the Excelsior framework.

The XPath interface looks and feels like a Mac search interface, using an Acqua search panel and a drawer coming out of the document window (similar to Preview.app). You click on a search result in the drawer to select that item in the outline view.


To do

These are things that are necessary for a completed application but haven't been implemented yet. While necessary, these features were given a lower priority for initial testing because they are not part of what makes Fantastic unique and distinctive.

Performance

When the Design Goal features are implemented and stable, this will be a top priority. Editing large (multi-megabyte) documents in Fantastic needs to be improved. Optimizations to change this will happen when the key design features are stable.

Standard application features

These are standard features of good Mac OS X apps and will be part of Fantastic before beta testing begins.

Namespaces

More work needs to be done to make Fantastic do a great handling namespaces.

  • Other XML technologies
  • These features common in XML editors will likely be implemented using open source code libraries with liberal licensing policies. There are several quality, open source, portable libraries that implement these features.


    How do I...?

    A quick reference for how to get things done in Fantastic.

    1. ...assign a schema to a document?
    2. Open the document using File > Open..., File > Open Recent, or use File > New to create a new document. Then select File > Assign Schema... and navigate to the schema file. The file url for the schema will appear in the noNamespaceSchemaLocation attribute on the root element of the document (if you haven't created the root element yet, this attribute will appear when you do create it).

      Once you have assigned a schema, you can use all of the editing features that require a schema (see next question).

    3. ...edit a document in outline view?
    4. You can do the following whether your document has a schema assigned or not.

      If your document has a schema assigned to it, you can also do the following.

    5. ...insert all of an elements child items required by the schema?
    6. Select Required Items from the Insert menu or the element's context menu (see answer to 2. above).

    7. ...use text autocompletion in the text inspector?
    8. At a point where you can legally insert a new element (whitespace, in a text node, between element start/end tags), insert "<". Then hit F8 or select Text > Complete for a list of possible elements that can be inserted at that place. If you have partially completed the tag name, only tag names beginning with those characters should be displayed. Similarly, for a list of attribute completions, insert a space after the tag name in an element's start tag then hit F8 or select Text > Complete for a list of allowable attributes.

    9. ...make the text and info inspectors visible?
    10. To make the Selection Text inspector visible, select Text > Show Selection Text. To make the element inspector visible, select Window > Inspector.

    11. ...search with XPath?
    12. Click the XPath ("//") button in the toolbar to show the XPath drawer for the document window. Type the path into the drawer's search field and hit return. Select from the list of results underneath the search field to select that element in the outline view.

    13. ...open an XML file over the Internet?
    14. Select File > Open URL..., type the XML file's URL, then click Open. To save changes, you will need to save the document to a local file.

    15. ...neatly format the text of an element?
    16. To neatly indent the text of an element, select Text > Pretty Print. Please note that this indents ONLY the selected element NOT the entire document.



    free hit counter