Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
The Xylia Toolkit: A WYSIWYG XML editor library for Java Summary This presentation presents an introduction to the Xylia software library, and the technologies involved. This library is being designed for the development of user-friendly visual editors for the extensible markup language (XML). XML is a standard for markup languages. Each language conforming to XML is similar in structure to HTML, but has its own set of permissible tags, and rules about how they may relate. XML is designed to store structured data in a standardized cross-platform textual format. The Java programming language and the Swing toolkit from Sun Microsystems are being used to build the library, which is suitable for application developers who wish to create simple, easy to use, robust editors for specific XML languages. Since both technologies are intended to promote cross-platform and cross-application interoperability, they make a good match. The Java programming language is powerful and extremely useful for many reasons, for the Xylia project the greatest benefit of using Java is its powerful standard libraries. These libraries provide the key functions needed for User Interfaces, file access, etc. The particular libraries that the Xylia project uses are the HTML libraries, which provide viewing and editing capabilities for HTML documents. The second boon for Java is it’s cross-platform nature, by that I mean that if I write Java software on my Pentium computer running Microsoft Windows, then that same software will work without change on any other computer platform supported, from the largest mainframe system running UNIX, to the smallest handheld computers running embedded operating systems. The one thing all the platforms need to have in common is a Java Virtual Machine, it’s this virtual machine that takes a java program and executes it. As long as the required libraries are present, the look and feel, and behaviour should be consistent. The main result of Java being platform independent is that Java has become the most popular way for distributing applications on web pages through the Internet. Java also has the benefit of learning from the experience of the languages it derives from. Sun has tried, in the design of Java, to unite the best ideas from many existing programming languages while leaving out their main flaws. That’s not to say that Java is without its fair share of problems, but it is well designed from the programmers vantage point. XML is the other key technology that I worked with this summer, XML is a standard developed by the World Wide Web Consortium (W3C). The W3C is also responsible for many other standards used on the Internet, such as HTML, Cascading Stylesheets, etc. XML has been a standard since 1998. XML is not truly a markup language in and of itself; it is a standard that defines how to create your own markup language based on the XML definition. XML defines many rules on how an XML markup language should behave. XML based markup languages will look similar in structure to HTML (The standard format for web pages), but have varying and different purposes. HTML defines how a document can be created and defined for viewing on the Internet. HTML’s purpose is to give structure and formatting to the text of the document. An XML documents purpose on the other hand is to provide a way to store structured data (of any kind) in a textual format. The main benefit to using an XML based file format to store data is the cross-platform and cross application interoperability it provides, that is the same file can be read on any type of computer, with any software that understands XML. XML has many other benefits over other proprietary binary formats, such as being able to manually fix a damaged XML file by opening it in a text editor, the shear number of tools available for reading and writing XML, and it is an open, royalty free specification. There are many existing XML based markup languages such as; Wireless Markup Language (WML) used for displaying content on handheld devices like cell phones; Chemistry Markup Language (CML) used for storing such things as the chemical compounds; Math Markup Language (MathML) for storing mathematical formulae and proofs, etc. The Xylia project is creating a toolkit (library) for Java that is adding the capability for WYSIWYG (what you see is what you get) editing of XML documents. Xylia’s interface, and a lot of the core functionality, comes from the Swing libraries HTML toolkit. The benefits of this are that anyone who has used the HTML toolkit should find no problem using Xylia, and it also avoids re-implementing low-level functionality. The goal is to make it easy for anyone to edit XML documents, and to embed this functionality into other applications. One immediate use of the project is Dr. Norvell’s Simple system. Simple defines a way to describe a mathematical proof (in an XML document) in such a manor that it may be verified in a programmatic method. Xylia will make it easy to create and edit proofs that will be verified by another program, and avoids the troubles of tediously editing the XML document in a text editor. Xylia makes use of both Java and XML, and the two technologies play nice together, so to speak, they are both created with a cross-platform nature, and are being quickly adopted across the Internet. In fact the next version of the HTML standard is called XHTML (eXtensible HTML) and is HTML defined as an XML markup language. And Java is becoming more and more popular as the number of types of computing platforms supporting it increase. A study by Evans Data Corporation (http://www.evansdata.com) suggests that the number of Java developers will overtake the number of developers using the incumbent C/C++ language by next year (see http://www.zdnet.com/eweek/stories/general/0,11011,2804967,00.html for a news story on the study). So you can see, creating the Xylia toolkit will let researchers and others have an easy way to use XML for their projects. It is a work in progress, and development is to continue this fall by another workterm student.