If you don't want to install IDE4Laszlo you can use PlainEclipse for editing.
nxml-mode is an xml-aware editor mode for GNUEmacs that uses a RELAX NG schemas file to add keyword completion and incremental validation.
- Download: http://www.thaiopensource.com/download/nxml-mode-20030906.tar.gz
- Discussion group: http://groups.yahoo.com/group/emacs-nxml-mode/
Add the schema locator file in Laszlo Presentation Server/Server/lps-*/tools/nxml-schemas.xml. For example, put this in your emacs .init file:
(setq auto-mode-alist (cons '("\\.\\(lzx\\|dbk\\|xml\\|xsl\\|xslt\\|rng\\)\\'" . nxml-mode) auto-mode-alist)) (setq rng-schema-locating-files (append (list (substitute-env-vars "/path/to/lps/Server/lps-2.2/tools/nxml-schemas.xml")) rng-schema-locating-files))
psgml-mode and mmm-mode=
See the Developer's Guide.
Configuring with a DTD
See the instructions on laszlosystems.com. Those instructions may supplant everything here.
In IDE Settings > Resources Add to the top pane (External Resources):
URI: http://www.laszlosystems.com/lzx.dtd Path: c:\lzx.dtd.xml
(note: local path *must* end in .xml)
Begin your file with:
<!DOCTYPE canvas PUBLIC "LZX" "http://www.laszlosystems.com/lzx.dtd" >
Notice that code hinting is provided for schema types. Notice that code hinting is no longer provider for user defined types that have previously been used in the file :(
Adam Wolff maintains a syntax file for lzx. Ask for //depot/adam/sandbox/lzx.vim.
Installing VIM Syntax Highlighting
Not a VIM/Linux ninja? No problem, these instructions successfully install VIM highlighting for Ubuntu Linux Hardy Heron (8.04) and VIM 7.1 .
Installation for other OSes (and other versions of VIM) should be very similar.
Note: this installs OpenLaszlo syntax highlighting globally
Get a copy of lzx.vim and place it in the appropriate directory (do not put this in $VIM/vimcurrent or $VIM/vim[version_number], these directories may be overwritten by your package manager)
cd /etc/vim/ sudo mkdir syntax cd syntax sudo wget http://www.openlaszlo.org/lps/tools/lzx.vim
edit global VIM settings so VIM correctly identifies .lzx files
cd .. sudo vim vimrc
add the line
au BufRead,BufNewFile *.lzx set filetype=lzx
Optional: Highlight syntax for all files by default
If not changed, you will need to issue the command
in VIM each time you open a file you desire to be highlighted.
Make highlighting the default: add or uncomment (VIM uses double quotes " as the comment symbol) the following line
Marks and cursor position
will jump you to the appropriate column where the mark was set
will only jump you to the beginning of the correct line.
Also, the mark "[" is set to the point where you last entered insert mode. I often have the problem that I want to leave insert mode where editing began. I can now do this with the following remapping
imap � <ESC>`[
Now, if I hit control-D in insert mode, I leave where I entered the insert mode.
Even more useful is the ability to repeat a previous command without changing the cursor position. Since this is pretty much always the behavior I want, I remapped ".", but you could use some other combination.
noremap . .`[
- Launch XmlSpy
- Go to Tools -> Options
- On the "File" tab, uncheck "Validate upon opening file" and uncheck "Validate upon saving file" in the Validation group box.
- On the "File Types" tab, add the .LZX file extension. In the XML Conformance group box, select DTD.
- This step is optional, In the "View" tab uncheck Word Wrap.
- Click OK.
- Go to Project -> New Project
- In the Project panel, right click on the New Project and select "Properties..."
- In the "Validation" group box, browse to the Laszlo DTD. Typically, it might be in: "C:\Program Files\Laszlo Presentation Server 2.2.1\Server\lps-2.2.1\tools\lzx.dtd" - either way, the name of the file is "lzx.dtd"
- Click OK.
Complete steps 1 through 3. For step 4 select XML instead of DTD. Now complete steps 5 and six. The Home edition doesn’t have a Project menu so steps 7 through 10 don’t apply. The Home edition will now ask you for a DTD whenever you open a new file. It is somewhat cumbersome, but it’s also free.