XML Development Tools Proposal
The XML Development Tools (XDT) is a proposed project under the Web Tools Platform Project.
According to the Eclipse Development Process, this proposal is intended to declare the intent and scope of the XML Development Tools project as well as to gather input from the Eclipse community. You are invited to comment on and/or join the project.
- 1 Background
- 2 Introduction
- 3 Project Description
- 4 Goal
- 5 Scope
- 6 Perspectives and Views
- 7 Extension Points
- 8 Project Organization
- 9 Mentors
- 10 Relation to other Eclipse projects and other open source projects
XML related plug-ins and frameworks are spread throughout Eclipse. Some reside in the Technology Project, some within the Web Tools Platform project, and still others within the SOA Project. However, because the XML focus is spread across multiple projects that many not necessarily communicate with each other, implementation and duplication of code exists. There is also a need for a more focused implementation on compliance with the various specifications. As well as a home for EPL friendly frameworks to grow.
XML related applications and tooling covers a wide area, and in many cases does not necessarily fit under any current Eclipse project. Currently the main place for these applications and tools is under the Web Tools Platform Project. Mainly because the Structured Source Editor and existing XML, DTD, and XSD editors reside there. However, as the breadth of XML is not just focused on Web Tools, it is sometimes difficult to see where certain XML related technologies would fit. XML covers a wide range of technologies beyond just XML, DTD, and XSD. It includes technologies for working with security, user interfaces, document editing, schema modeling, and many more areas. Groups such as OASIS and the W3C provide specifications and standards for various XML related technologies. A project focused on the requirements of XML and the corresponding specifications can help improve the overall compliance of new and existing frameworks.
XML Development Tools will be based will be initially populated with some existing eclipse projects. Some proposed projects include the following:
- XSL Tools - supplies tooling and frameworks for working with XSLT technologies. Include XSLT 1.0, XSLT 2.0, and XPath 2.0, as well as XInclude. Debugging and Launching support as well as a full featured XSLT aware XML editor are provided.
- XSL Tools also house a standalone XPath 2.0 implementation that is the only EPL licensed XPath 2.0 processor/parser currently available.
- XML Editor - currently provided and housed within the Web Tools Project, this potential project could be under the XML Tools project to continue to provide XML tooling support.
- XML Catalog - currently provided by the Web Tools project, provides the ability to read, write, and use the OASIS XML Catalog specification.
- DTD Editor - currently housed in the Web Tools project.
- XML Schema Editor - currently housed in the Web Tools project.
- Visual Editor for XML (VEX) - a WYSIWYG document editor primarily focused on DocBook, DITA, XHTML and other related document editors. Currently incubating under Web Tools.
- XML Information Exchange Design / Validation Tools Workbench - design information exchanges to modern industry standards and with complete life cycle support
- Canonical XML components dictionary - supports use of assembly of schema from pre-built standard components expressed in syntax neutral semantic form
- Example test data and synthetic test data generation - allow automation of XML test data generation
- XQuery Development Tools - currently incubating under Web Tools. This editor will provide features for implementing and writing XQuery scripts. Could evolve into a debugger and launcher as well.
- XML Security Tools - Currently incubating under Web Tools. Provides implementations for XML Encryption and Digital Signatures for the W3C specifications.
- Apogee - An XForms to SWT implementation. Currently under the Technology project.
Other possible projects:
- OASIS CAM
- XQuery Processor
- XSLT 2.0 Processor
The goal is to provide a focused area for XML related technologies. The project will provide a home for the development of xml related technologies and implementation of xml related specifications. The project will leverage other existing eclipse project frameworks, but may develop frameworks that can run with out eclipse as well.
Scope is as outlined above in the project description and goals.
As always, scope can change based on community and adopter feedback as well as changes in various XML standards.
Perspectives and Views
The initial views will leverage many of the views provided by the XSL Tools project. These are:
- XML Perspective - general editing perspective for XML related functionality.
- XPath View
It will leverage the following existing views.
- Project Explorer
- Outline View
- XPath View
- Properties View
- Problems View
- Templates View
Possible extension points include:
- XQuery Engines - Allows for the selection and installation of various XQuery Engines used during Launch Configurations.
- XQuery Engine specific Validation. Leveraging the existing WTP Validation framework, allow for projects to have specific XQuery Engines used for validation.
- Debugging Support - If an engine supports Debugging allow it to contribute functionality.
- XSLT Processors
- Exchange message sending/receiving - allows test harnesses for actual transmission, verification and validation of test messages
We propose this project should be undertaken as a sub-project under eclipse web tools, or it's own standalong project under the tools platform. The project would eventually be broken into several potential sub projects:
- XML editing, catalog, and validation support and XML specification and framework compliance.
- XSL 1.0 and 2.0 editing, validation, and debuging.
- XQuery 1.0 editing, validation, debugging, and data base browsing.
- XML Security Tools integration and implementation.
- XPath support - includes xpath 1.0 validation, editing, and as well as XPath 2.0 processing support and compliance.
- Visual Editing for XML (VEX).
- DTD editing, validation.
Other components or sub-projects can occur as the community grows.
Need possible mentors.
Note these are possible committers.
- David Carver (Intalio)
- Nitin Dahyabhai (IBM)
- Mukul Gandhi (IBM)
- Jesper Steen Moellor (Independent)
- Nicholas Sandonato (IBM)
- Valentin Baciu (IBM)
- Gabrial Indik (IBM)
- Dominik Schadow (Independent)
- David Webber (Independent/OASIS)
<Please add name if interested with existing eclipse project if any>
Initial Code Contribution
Initial contribution will come from various eclipse projects as outlined above.
Licensing and Intellectual property
All code is being relicensed under the terms of the Eclipse Public License. All committers have agreed to these relicensing terms.
XML covers a very wide user community and suite of potential adopters and users. A common set of tooling and frameworks makes it easier for adopters to implement compliant tooling for the various xml specifications. Ultimately this makes interoperability amongst the various tooling better, improving the end users experience and implementation.