XML editors
Jump to navigation
Jump to search
Some XML editors used to edit Apertium language data (e.g. dix and transfer files):
- Gedit – a GUI editor (written in C/Python)
- https://launchpad.net/gedit-xmltools seems to be an XML validation plugin
- XML Copy Editor – a GUI editor (written in C++) purely meant for XML
- This will check well-formedness (that you have your brackets and quotes in place) out of the box; but to get validation you may have to click XML→Associate→System DTD and select dix.dtd from lttoolbox (typically in /usr/local/share/lttoolbox or /usr/share/lttoolbox). This will insert a DOCTYPE line in your xml, but that's fine.
- There seems to be a bug that gives wrong line numbers on some validation errors.
- Jedit – a GUI editor (written in Java)
- http://stackoverflow.com/a/3435092/69663 lists some handy XML plugins
- Vim – a lightweight, modal editor
- Emacs – a self-documenting, extensible lisp machine
- the built-in nxml-mode does validation, see Emacs#Validation_quickstart for how to make Emacs use the DTD's
Converting DTD to XSD/RNC/RNG
An XML editor can check if you XML is well-formed (the brackets match up and so on), but to check for validity, you need to give it the schema for the file type you're editing. Some editors can read the DTD schemas in the lttoolbox/apertium directories, while some editors require other schema formats.
The java program "trang" can convert the dix and transfer DTD's to other formats like XSD, RNC or RNG, if your favourite editor doesn't support DTD's.
cd wget http://jing-trang.googlecode.com/files/trang-20091111.zip unzip trang-20091111.zip cd trang-20091111 java -jar trang.jar -I dtd -O xsd ~/src/apertium/trunk/lttoolbox/lttoolbox/dix.dtd ~/src/apertium/trunk/lttoolbox/lttoolbox/dix.xsd java -jar trang.jar -I dtd -O rng ~/src/apertium/trunk/lttoolbox/lttoolbox/dix.dtd ~/src/apertium/trunk/lttoolbox/lttoolbox/dix.rng java -jar trang.jar -I dtd -O rnc ~/src/apertium/trunk/lttoolbox/lttoolbox/dix.dtd ~/src/apertium/trunk/lttoolbox/lttoolbox/dix.rnc
See also
- Easy dictionary maintenance – GUI for editing dictionaries
- Dixtools: Enhance – interactive tool to add new words to a dictionary (asks you for a word that inflects the same, finds the paradigm for you)