views:

1466

answers:

16

What software is recommended for working with and editing large XML schemas? I'm looking for both Windows and Linux software (doesn't have to be cross platform, just want suggestions for both) that help with dealing with huge XML files.

+4  A: 

I may be old fashioned, but I prefer my text editor.

I use emacs, and it has a fairly decent xml mode.

Most good text editors will have decent syntax hi-lighting and tag matching facilities. Your IDE might already do it (IntelliJ idea does, and I believe Eclipse does as well). Good text editors will be able to deal with huge files, but some text editors may not be able to handle them. How big are we talking about?

Justin Standard
+6  A: 

I agree that your text editor is probably your best bet. I do know some people who swear by XMLSpy, if you need something that's tailored specifically for dealing with XML files in a visual way. I bet you could find some F/OSS work-alikse but I'm not aware of any.

pix0r
+1  A: 

The oXygen XML Editor a great IDE for Windows, bit expensive tho.

Peter Coulton
+1  A: 

Open source XML editors examined - it is a little bit outdated though.

saniul
+3  A: 

I work a lot with XML, and have found Oxygen to be a great editor. It's cross-platform and has a graphical schema editor, but since I use DTDs and not schemas, I can't vouch for the schema editor's quality. The rest of the editing package (such as the XML editor and XSLT debugger) is solid, so it could be worth a try.

James Sulak
+10  A: 

For Windows, I found Microsoft's own free XML Notepad 2007 to be a great simple to use editor with a nice selection of features. Used it for both reviewing my XML output when developing and editing broken iTunes' libraries. ;)

Requires .net 2.0

Nidonocu
+2  A: 

Altova's XML Spy is a great editor, but not necesarily the cheapest option out there.

ZombieSheep
+1  A: 

+1 for XML Spy, I've used both the stand alone product and the visual studio plugin, and I've been impressed.

In terms of FOSS, I use Notepad++

rjohnston
+1  A: 

Recently I was editing XSLT files with Eclipse but for some reason Eclipse wouldn't do any auto-completion anymore. So I switched to Emacs's brilliant nxml-mode, and I'm not sure I'm going back. You get auto-completion that's really easy to use, and it's very fast. The only glitch is that you must provide a RELAX NG version of your document's schema, but there are tools out there that generate one for you from your DTD or Schema.

Check out http://www.xmlhack.com/read.php?item=2061 for more.

For non-free software, I second the recommendations for OxygenXML.

lindelof
A: 

I use Notepad++ as my editor. You can also add plugins for dealing with XML specifically.

pc1oad1etter
+2  A: 

You need at least a decent text editor as a baseline, emacs with nxml mode as mentioned before is a very good choice. However as the schema becomes larger and larger you may loose the overview, especially when you author an XML Schema document which can be very verbose. You'll need some sort of visualization: XML Spy is ok, Oxygen is great but expensive, but as it turns out, on Windows, you have almost all needed features in XMLPad which is freeware.

When you start editing instance XML documents (and even editing XML Schemas) you need on the fly validation against a schema and if possible auto-completion of attributes and elements. Emacs only supports on the fly validation and auto-completion with a relax NG based schema (but any XSD can be converted to a relax NG schema).

If you have any choice in the matter, consider using Relax NG as your schema syntax, it is much more readable and maintainable.

Boris Terzic
+1  A: 

I highly recommend Stylus Studio if you have any need for a long term broadly capable XML IDE. I've used it mostly for XSLT development but it supports development of almost everything XML related you would want to do. It's Windows only (very annoying).

Matt Large
+2  A: 

FirstObject XML Editor. http://www.firstobject.com/dn_editor.htm

Its free, written in C++, optimized for working with very large xml files.

While it is relatively limited in functionality, it can load 100MB+ unformatted files in seconds, indent them and locate specific elements using the tree view. By using the 'Refresh' option you can also synchronise the tree with the text view.

It's in the UNIX spirit of having a simple tool doing a specific job very well.

Ash
+1  A: 

Altova's XMLSpy is probably the best available. It offers different views of your data/schemas, XPath tools and produces good diagrams, among other things. It does cost quite a bit though. It's a mature product, so you don't tend to run into limitations as quickly as you do with some other tools.

Liquid XML is a pretty good, but relatively new alternative. It's a nice app to use and there's even a free version available! This is a tool worth keeping an eye on.

Both of these products have a handy feature which produces sample XML files based on your schema.

In contrast, Oracle's JDeveloper (based on Borland Jbuilder, I believe) tries to provide a decent schema editor, but falls short in that it sometimes produces invalid schema files. I stopped using it soon after noticing this.

I highly recommend checking out IBM's XML Schema Quality Checker. This command line tool validates your schema against WC3's XML Schema language. This is a good idea even if you've built your schema using another tool.

Matt
+3  A: 

I use nxml-mode in GNU Emacs for editing xml, including very big files. And i use it for a long time - it quick, provide on-the-fly validation of xml , and provide completion functionality for tag & attributes names

Alex Ott
A: 

I am using Cooktop, and I'm very happy about XPath testing feature.

  • Cooktop is an editor and development environment for XML, DTD, and XSLT documents
  • Cooktop is a Windows application
  • Best of all, it's free!

Features

  • Color-coded XML, DTD, and XSLT editing
  • Check well-formedness and validate
  • Stylesheet testing with almost any XSLT engine
  • XPATH testing
  • Customizable "Code Bits" library
  • XML formatting via Tidy
  • Small download, small footprint
alexandrul