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.
Fantastic runs on Mac OS 10.3 or higher.
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.
Recursively insert all required child elements and attributes of the selected element with just one click. Doing this in a newly created element should create the minimum structure necessary for a valid element.
You can see a list of possible children for the selected element by clicking the Insert menu, clicking the insertion combo box in the toolbar, or by control clicking on any element.
When Fantastic inserts a child element, it tries to do so in a way that doesn't violate any order constraints.
Fantastic will list schema enumeration values for the selected element and insert them as text nodes.
Autocompletion in text view uses the same schema logic to list possible completions. Fantastic also automatically inserts a close tag after you finish typing an open tag.
Using an interface with multiple windows works greate with Expose. Arrange windows however you want, and Expose still lets you quickly find things hidden from view.
View the text for the element selected in the outline view in an inspector window. This makes it easy to view only the part of the document you want to focus on, whether it's the entire document at once or a single element with attributes. The text and outline views stay synchronized as you edit.
This is an unique approach to coordinating outline and text views of an XML document. Become a Fantastic tester and check it out.
WARNING: Editing text in the text inspector may be the least stable part of the application. If you do much editing in this inspector, you WILL corrupt your documents and you WILL lose data. DO NOT use Fantastic on important data without backups.
Edit attributes in a table view (combo box for quickly adding new attributes). Edit an element's tag name. Edit multi-line text node elements in a scrollable text view. All supporting schema based completion.
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.
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.
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.
These are standard features of good Mac OS X apps and will be part of Fantastic before beta testing begins.
More work needs to be done to make Fantastic do a great handling namespaces.
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.
A quick reference for how to get things done in Fantastic.
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).
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.
Select Required Items from the Insert menu or the element's context menu (see answer to 2. above).
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.
To make the Selection Text inspector visible, select Text > Show Selection Text. To make the element inspector visible, select Window > Inspector.
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.
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.
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.