[oXygen-user] using catalogs

Sorin Ristache
Thu Jan 15 03:20:58 CST 2009


 From the error message reported by Oxygen and from the sample 
Shibboleth files that I could find there is no xsi:schemaLocation or 
xsi:noNamespaceSchemaLocation attribute in the XML files. Oxygen does 
not use XML catalogs at this time for mapping the namespace of an XML 
document (declared with an xmlns attribute) to the schema that must be 
used for validation. This is a feature for a future version of Oxygen. I 
think the easiest solution is the creation of a document type 
Preferences -> Editor -> Default Schema Association that matches your 
Shibboleth XML files and specifies the schema that will validate the files.

If you want to use an XML catalog for validation you have to add an 
xsi:schemaLocation attribute to the root element of your XML files, use 
a URL or a file path as the attribute value, not a URN as in your 
catalog file ("urn:oasis:names:tc:entity:xmlns:xml:catalog") and set 
that URL/absolute file path as the systemId attribute value in the 
catalog file. Note that a relative file path specified in the 
xsi:schemaLocation attribute first is resolved to an absolute file path 
relative to the system ID of the XML file and after that the absolute 
file path is matched with a system entry catalog.


> I'm trying to use Oxygen to edit the set of XML-based config files that 
> come with the Shibboleth package. The package is typically installed on 
> linux, as a plugin into a web server such as apache. The package comes 
> with a set of .xsd files, and an accompanying set of xml catalog files. 
> Here's what a typical supplied catalog file looks like:
> <?xml version="1.0" encoding="UTF-8"?>
> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
>     <system systemId="urn:oasis:names:tc:SAML:1.0:assertion" 
> uri="/opt/local/shibboleth-sp/share/xml/opensaml/cs-sstc-schema-assertion-1.1.xsd"/> 
>     <system systemId="urn:oasis:names:tc:SAML:1.0:protocol" 
> uri="/opt/local/shibboleth-sp/share/xml/opensaml/cs-sstc-schema-protocol-1.1.xsd"/> 
> </catalog>
> I've tried the following steps:
> -- downloaded all of the xsd and catalog files to my desktop Mac
> -- edited the catalog files, changing the file system path in all the 
> uri attributes
> - launched Oxygen, went to Preferences/XML Catalog, and added the five 
> catalog files that come with the package.
> - quit Oxygen, re-launched (to have the new Preferences take effect)
> -- open a Shibboleth xml file, and attempt to validate it
> I'm presented with an error -- "There is no schema or DTD associated 
> with the document. You can create an association either with the 
> Associate Schema action or from the Options men 
> Preferences/Editor/Default Schema Association."
> does anyone have a suggestion on a way to get validation to work, using 
> catalog files? Rather than adding everything to the Default Schema 
> Association?
> _______________________________________________
> oXygen-user mailing list
> http://www.oxygenxml.com/mailman/listinfo/oxygen-user

More information about the oXygen-user mailing list