Try to look into the
workspace/.metadata/ directory (located in the root
or in your current workspace if using the Plugin version) for
a file named
.log. This log file contains exact error messages explaining the problem.
Well... EuroMath2 is still in very alpha state. The application core, plugin interfaces and some editing aspects needs to be developed. However, new developers joined the team so you can expect a development speedup.
If you want to define local attribute, then do not specify its namespace - it will 'inherit' namespace from its element as described in the XML specification. But what if the element's namespace is null?
EuroMath2 needs to know the kind of document each element belongs to, in order for the autocompletion and multi-schema validation to work correctly and for the stylesheets to be selected correctly. Currently, 99% of XML documents have null namespace, but they serves for different purposes - they don't share same semantics nor schema. Because of this situation, we cannot correctly detect schema from an element with null namespace, hence null namespace is forbidden. Attributes may have null namespaces - XML specification states that in such case they 'inherit' namespace from parent element.
The MSV library, used to parse schema files, is quite stack-hungry and will cause an overflow on Win32 Sun-JRE. This could be remedied by using -Xss switch, however this switch does NOT affect stack of main thread in Sun-Java 1.5. The only known workaround is to download and install Mustang (Java 1.6), and, if the stack-overflow-problem persists, please run EuroMath with:
launcher -vmargs -Xss8m
Increase the -Xss switch value when necessary
To add namespace support to DTD, an xmlns attribute is added to the root element definition. This attribute is defined as a default attribute. Xerces (the parsing library we are using) thus creates an unremovable xmlns attribute, and that is what the EuroMath2 namespace manager does not like. There are some workarounds: either prefix all elements with some prefix, or delete the doctype definition.
A major drawback of those solutions is that they will turn off the default attribute values facility. A best way around is to stop using DTD and convert it to Relax, RelaxNG, TREX or XML Schema. However, Relax(NG) and TREX does not support default values. The best you can do is to stop using default values in schema completely (why? imagine that you don't have access to a schema file. You don't have default values then).
Experimental support for XHTML editing is included in 1.3.0 version. For previous versions please follow these two steps:
em2/plugins/sk.uniba.euromath_1.2.1/directory. This installs XHTML-to-XSL-FO XSLT stylesheet and XHTML schema files.
emConfig.xmland add this xml snippet to the
namespace namespace-urihttp://www.w3.org/1999/xhtml/namespace-uri descXHTML 1.0 Strict/desc default-prefixxhtml/default-prefix schema allow-other-ns="true" root-elements="html" location-urlorg/w3/1999/xhtml/xhtml1-strict.rng/location-url entities-urlorg/w3/1999/xhtml/xhtml1-strict.dtd/entities-url /schema stylesheet descXHTML 1.0 to XSL-FO stylesheet/desc target-uri id-attributes="id"http://www.w3.org/1999/XSL/Format/target-uri location-urlorg/w3/1999/xhtml/xhtml2fo.xsl/location-url /stylesheet /namespace
http://www.w3.org/1999/xhtml. Just add
htmlelement of your XHTML file.
However, this approach has several disadvantages: