Bocaloco Software LLC News About Bocaloco Home Home

In following [new] indicates a new feature in 2.0, [Pro] means XMLBuddy Pro only.

DTD Support

Validation

  • XML documents validate based on internal/external DTD specified in DOCTYPE, or
    • Validation settable to user-configurable DTD preference with matching root element name, e.g., <html>.
    • Validation settable to user-configurable DTD property for a particular document.
    • If no DTD, validation checks well-formed only.
  • [new]DTD documents validated standalone.
  • [new]Auto-validation option shows errors dynamically while you edit based on background parse.

Code assist

  • Code assist in XML documents based on DTD.
    • Element names.
    • Attribute names.
    • Attribute values (enumeration).
    • Entity names.
  • If no DTD, code assist based on document contents.
  • [new]Code assist in DTD internal subset or external DTD.
    • Tag names.
    • Parameter entity names.
    • General entity names.
  • [new]Code assist dynamically updated when DTD changes.

DTD Wizard

  • Wizard optionally generates <?xml encoding declaration.
  • [new]Wizard allows existing file to be used as template for new DTD.

Generation

  • Generate DTD command creates DTD based on document contents.
  • [new][Pro]Convert to DTD command creates DTD based on document contents using different algorithm.
  • [new][Pro]Convert DTD commands allow automatic translation of DTDs to XML Schema, RELAX NG or RELAX NG compact syntax schemas.
  • [new][Pro]Flatten DTD command creates a semantically identical DTD with all parameter entity references resolved into a single document.
  • [new][Pro]Generate XML instance command creates a sample XML instance document from DTD, based on user-selectable options.

Open Definition

  • [new][Pro]Open Definition command opens definition of selected name in same or other DTD. Names supported include:
    • Element names.
    • Attribute names
    • Parameter and general entity names.

XML Schema Support

Validation

  • Validates based on XML Schema indicated by xsi:schemaLocation or xsi:noNamespaceSchemaLocation attributes, or:
    • [new][Pro]Validation settable to user-configurable schema preference with matching root element name or namespace.
    • [new][Pro]Validation settable to user-configurable schema property for a particular document.
  • [new][Pro]Auto-validation option shows errors dynamically while you edit based on background parse.

Code assist

  • [new][Pro]Code assist in XML documents based on XML Schema.
    • Element names.
    • Element values (enumeration)
    • Attribute names.
    • Attribute values (enumeration).
    • Entity names (if DTD internal subset).
  • [new][Pro]Code assist in XML Schema documents based on built-in schema.
    • Element names.
    • Element values (enumeration)
    • Attribute names.
    • Attribute values (enumeration, built-in simple type names, defined type names, defined groups, etc.).
  • [new][Pro]Code assist dynamically updated when schema changes.

Wizards

  • [new][Pro]New XML Schema wizard allows specification of target namespace, encoding, or allows exising file to be used as schema template.
  • [new][Pro]New XML document wizard browse to schema option sets schema name and target namespace and allows selection of root element.
  • [new][Pro]New XML document wizard generates schema location attributes as appropriate, namespace declarations with default or specified prefixes.

Generation

  • Generate XML Schema command creates schema based on document contents.
  • [new][Pro]Convert to XML Schema command creates schema based on document contents using different algorithm.
  • [new][Pro]Convert schema commands allow automatic translation of XML Schema to DTD, RELAX NG or RELAX NG compact syntax schemas.
  • [new][Pro]Generate XML instance command creates a sample XML instance document from XML Schema, based on user-selectable options.

Open Definition

  • [new][Pro]Open Definition command opens definition of selected name in same or other schema. Names supported include:
    • Element names.
    • Attribute names
    • Type names.
    • Group names.

XSLT and XPath Support

Code assist

  • [new][Pro]XSLT editor provides code assist using built-in schemas for both version 1.0 and 2.0 XSLT. (2.0 support is based on November 2003 draft.)

Validation

  • [new][Pro]XSLT editor validates based on built-in schemas for both version 1.0 and 2.0 XSLT.
  • [new][Pro]Auto-validation option shows errors dynamically while you edit based on background parse.

Transform

  • [new][Pro]Transform command applies stylesheet to designated XML document or transforms document with designated stylesheet.
  • [new][Pro]Transform document honors <?xml-stylesheet processing instruction and allows override.
  • [new][Pro]Result of transform written to in-memory file(s) for quick viewing or to project file(s).

XPath View

  • [new][Pro]XPath view allows quick testing of XPath expressions based on document context or selected element in editor.
  • [new][Pro]Results displayed on demand or dynamically as expression is entered.
  • [new][Pro]Both XPath 1.0 and 2.0 supported. (2.0 support is based on November 2003 draft.)
  • [new][Pro]Result of transform written to in-memory file(s) for quick viewing or to project file(s).

XPath Search

  • [new][Pro]Xpath Search provides multi-file search using XPath 1.0 expressions, e.g., find all instances in workspace of "/chapter/title[.='Paintball']".

RELAX NG Support

Validation

  • [new][Pro]Validates based on RELAX NG or RELAX NG compact syntax schema.
  • [new][Pro]Validation settable to user-configurable schema preference with matching root element name or namespace.
  • [new][Pro]Validation settable to user-configurable schema property for a particular document.
  • [new][Pro]Auto-validation option shows errors dynamically while you edit based on background parse.

Code assist

  • [new][Pro]Code assist in XML documents based on RELAX NG or RELAX NG compact syntax schema.
    • Element names.
    • Element values (enumeration)
    • Attribute names.
    • Attribute values (enumeration).
    • Entity names (if DTD internal subset).
  • [new][Pro]Code assist in RELAX NG or RELAX NG compact syntax schema documents based on built-in schema. In the case of RELAX NG XML syntax, assist for:
    • Element names.
    • Element values (enumeration)
    • Attribute names.
    • Attribute values (enumeration, built-in simple type names, define names.).
  • [new][Pro]Code assist dynamically updated when schema changes.

Wizards

  • [new][Pro]New RELAX NG or RELAX NG compact syntax schema wizard allows specification of target namespace, encoding, or allows exising file to be used as schema template.
  • [new][Pro]New XML document wizard browse to schema option sets schema name and target namespace and allows selection of root element. Schema is automatically set in file properties.

Generation

  • [new][Pro]Generate RELAX NG or RELAX NG compact syntax schema command creates schema based on document contents.
  • [new][Pro]Convert to RELAX NG or RELAX NG compact syntax schema command creates schema based on document contents using different algorithm.
  • [new][Pro]Convert schema commands allow automatic translation of RELAX NG or RELAX NG compact syntax schema to DTD, RELAX NG or RELAX NG compact syntax schemas.
  • [new][Pro]Generate XML instance command creates a sample XML instance document from RELAX NG or RELAX NG compact syntax schema, based on user-selectable options.

Open Definition

  • [new][Pro]Open Definition command opens definition of selected name in same or other schema.

Compact Syntax

  • [new][Pro]Specialized editor for compact syntax provides syntax coloring and dynamic error checking.

General editor features

Code assist

  • Auto-activation based on trigger characters and context or user-requested (menu command or keyboard).
  • [new]Auto-completion when code assist has only one choice.

Format

  • Format entire document or any subset using indentation for element content and flow for inline content.
  • [new]Auto-format (flow) long lines based on user-settable margin.
  • [new]Use spaces for tabs option.
  • Auto-indentation on return.
  • User-settable tab width.

Outline view

  • Selection in outline view highlights selected range in editor.
  • Selection in editor opens and selects corresponding outline view element.
  • Show first attribute value option
  • [new]Show first part of element contents option.

Project management

  • XML project type uses XML perspective. Projects provide convenient grouping for contextual search, source code control, etc.
  • XML perspective displays new XML document toolbar, outline view.
  • XML document toolbar and outline view also available in resource, Java and PDE perspectives.

Selection and positioning

  • [new]Smart tab option lets tab and shift-tab position by XML syntactic units within lines.
  • Ctrl-left/right-arrow positions by XML syntactic units.
  • Ctrl-Shift-left/right-arrow selects or extends selection by XML syntactic units.

Power tools

  • Select tag or text command allows instant selection of entire tag or text node at cursor.
  • [new]Split command splits current element in two at cursor position.
  • [new]Join command joins current element with preceding element (if alike).
  • [new]Comment command places <!-- --> comment brackets around current selection or cursor position. Allows nested comments.
  • [new]Uncomment command removes <!-- --> comment brackets from currently selected comment. Allows nested comments.
  • [new][Pro]Open DTD/schema command opens DTD or schema used to validate document in editor, even if on the network.
  • [new][Pro]Open URL command opens document based on text at cursor position, even if on the network.

Miscellaneous editing

  • Undo/redo with user-settable number of levels.
  • Shift whole lines right/left based on tab/shift-tab.
  • Clear Validate command clears validation error message for a given file.
  • Double-click validation errors in Task view goes directly to error line.

Features inherited from Eclipse

  • [new]Show line numbers option displays numbers in variable-width left margin.
  • Optional emacs accelerator key mode.
  • Goto line number command.
  • Keyboard shortcuts for
    • Position to start/end of word/line.
    • Select line.
    • Insert/delete line.
    • Etc.
  • Cut/Copy/Paste.
  • Find text in file.
  • Print.
  • Add/remove named bookmark. Bookmark view. Go to bookmark.
  • Add/remove prioritized task (to-do item). Sortable task view. Go to task.