wiki:Setting_Schema_Location

Version 8 (modified by Klaus Thoden, 12 years ago) (diff)

--

According to the 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 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=<path to itdev.keystore>
-Djavax.net.ssl.trustStorePassword=<password>

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 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 (attached is a PEM-encoded version, see 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)

			<key>javax.net.ssl.trustStoreProvider</key>
			<string>Apple</string>
			<key>javax.net.ssl.trustStoreType</key>
			<string>KeychainStore</string>

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=<password> -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 <textfile.xml>

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

Attachments (1)

Download all attachments as: .zip