New stuff: The W3C has issued a note on this topic: http://www.w3.org/TR/xml-model/, by which a Processing Instruction called {{{xml-model}}} can be used to define the location of a Relax NG schema. See also http://www.oxygenxml.com/doc/ug-editor/concepts/oxygen-processing-instruction.html Older stuff: According to the [http://www.thaiopensource.com/relaxng/design.html#section:17 documentation of Relax NG], there is no way of telling a document the location of the Relax NG Schema as it is possible with a DTD. In order to keep things clean and not confuse the user with relative paths to a local copy, a link to the Relax NG schema on this server can be entered. The stable version is situated at {{{ https://it-dev.mpiwg-berlin.mpg.de/svn/mpdl-project-content/trunk/schema/schema/echo/echo.rnc }}} However, as this server can be reached only via https, the validators themselves have to be configured to accept a secure connection via a certificate. For the {{{it-dev}}}-Server, a [https://it-dev.mpiwg-berlin.mpg.de/tracs/mpdl-project-content/raw-attachment/wiki/Setting_Schema_Location/it-dev.mpiwg-berlin.mpg.de.crt PEM encoded version] is attached to this page. == Eclipse == Java applications like Eclipse can use the the common keystore of the Java Virtual Machine, but one can also use a separate keystore. The command {{{ keytool -import -file it-dev.mpiwg-berlin.mpg.de.crt -keystore itdev.keystore }}} produces a keystore containing only this certificate. A password (at least 6 characters long) has to be chosen. In the {{{eclipse.ini}}} file, two lines have to be added: {{{ -Djavax.net.ssl.trustStore= -Djavax.net.ssl.trustStorePassword= }}} With this and with a line like {{{ xsi:schemaLocation="http://www.mpiwg-berlin.mpg.de/ns/echo/1.0/ https://it-dev.mpiwg-berlin.mpg.de/svn/mpdl-project-content/trunk/schema/schema/echo/xsd/echo.xsd " }}} in the root tag of the XML document, the autocompletion can be used. == Oxygen == In [http://www.oxygenxml.com oxygen], either a processing instruction has to be entered into the xml-file, or a validation scenario has to be entered into oxygen (via Dokument > Validieren > Konfiguriere Validierungsszenario). For this purpose, the SSL certificate of the it-dev server has to be downloaded ([https://it-dev.mpiwg-berlin.mpg.de/tracs/mpdl-project-content/raw-attachment/wiki/Setting_Schema_Location/it-dev.mpiwg-berlin.mpg.de.crt attached] is a PEM-encoded version, see [http://www.gtopia.org/blog/2010/02/der-vs-crt-vs-cer-vs-pem-certificates/ this blog entry] on how to display and convert that file) and stored in the Java keystore. On Mac OS, this can be done via Keychain (Schlüsselbundverwaltung). Then, edit oxygen's Info.plist with the {{{Property List Editor}}} and add two lines under Java > Properties: * Key: {{{javax.net.ssl.trustStoreProvider}}}, Value: {{{Apple}}} (String) * Key: {{{javax.net.ssl.trustStoreType}}}, Value: {{{KeyChainStore}}} (String) You can also paste the following snippet directly into the {{{Info.plist}}} (in !Java/Properties) {{{ javax.net.ssl.trustStoreProvider Apple javax.net.ssl.trustStoreType KeychainStore }}} Note that the {{{Info.plist}}} file is overwritten with every update of Oxygen. == Jing (Command line) == When using Jing, the same modus operandi as for Eclipse is used. The command {{{ java -Djavax.net.ssl.trustStore=itdev.keystore -Djavax.net.ssl.trustStorePassword= -jar $ECHO_SCRIPTS_DIR/share/thirdparty/jing-20091111/bin/jing.jar -c https://it-dev.mpiwg-berlin.mpg.de/svn/mpdl-project-content/trunk/schema/schema/echo/echo.rnc }}} passes the information to the virtual machine via the command line. == Fingerprints of the key == SHA1: {{{FA 59 20 79 0E 28 80 18 CA 2D 00 F1 B2 18 EA B7 00 F1 51 BE}}} MD5: {{{10 FB 77 75 C4 3A 30 62 BE 20 77 D5 51 F2 E0 C8}}}