Documentation Center

Collective Spaces - SchemaLocationConfig.xml

The SchemaLocationConfig.xml file is used by Collective Spaces and contains the file locations of the custom schemas together with their matching compiled schema location and their DTD Public ID or schema URN.

Introduction

This configuration file is only applicable for Collective Spaces and is available on the file system in the Web\InfoShareCS\custom\ folder. Out-of-the-box it only contains a root element and a reference to an XML schema file (SchemaLocationConfig.xsd) in the same folder that can be used to check that any changes you make to the XML file are correct. You should never change the schema file.

In Collective Spaces, the DITA Oasis and SDL DTD's and schemas are pre-configured (hardcoded) out-of-the-box by SDL. However, to open in Collective Spaces XML documents that adhere to a custom DTD or schema, you need to configure these schemas in this configuration file. This file is read by the code of the Collective Spaces application and every time you open an XML document in Collective Spaces, the application tries to find a match for the DTD Public ID or schema URN either in the out-of-the-box schemas, or in the schemas defined in this file. If no match is found an error is shown instead of the document.

This file should not be created manually. Instead, you should use the IshDeploy Set-ISHFontoSchemaExperience command to create it. This command does not only create the file but it also compiles the schemas that are present in the DocTypes folder and adds the resulting compiled schema json file to the Web\InfoShareCS\custom\schemas\ folder, so Collective Spaces can use them. As Collective Spaces requires compiled schemas, but XML documents in the repository have a DTD Public ID, the command uses the catalog.xml and catalog-mapping.xml files to build a mapping between the DTD Public ID and their schema counterpart.

Overview of the XML elements

Node nameDescription
schemalocationconfigRoot node of the schema location configuration XML file for Collective Spaces.
schemaThe configuration for a certain schema.
schema @locationThe file location of the schema relative to the DocTypes folder on the server.
schema @compiledlocationThe https location that can be used to download the compiled schema.
mappingsGroups one or more mapping elements.
mappingSpecifies a DTD Public ID or schema URN. If an XML document is opened in Collective Spaces with a DTD Public ID or schema URN that matches one of the mapping values, the corresponding compiled schema will be used to determine which XML elements are allowed in the document.

Example

<?xml version="1.0" encoding="utf-8"?>
<schemalocationconfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SchemaLocationConfig.xsd" version="1.0">
  <schema location="dita-custom\1.3\schema\technicalContent\xsd\customtask.xsd" 
      compiledlocation="https://myserver/ISHCS/custom/dita-custom-1-3-schema-technicalContent-xsd-customtask.json">
    <mappings>
      <mapping>//CUSTOM//DTD DITA Task//EN</mapping>
      <mapping>urn:custom:names:tc:dita:xsd:customtask.xsd</mapping>
      <mapping>//CUSTOM//DTD DITA 1.x Task//EN</mapping>
      <mapping>urn:custom:names:tc:dita:xsd:customtask.xsd:1.x</mapping>
      <mapping>//CUSTOM//DTD DITA 1.3 Task//EN</mapping>
      <mapping>urn:custom:names:tc:dita:xsd:customtask.xsd:1.3</mapping>
    </mappings>
  </schema>
  <schema location="dita-custom\1.3\schema\technicalContent\xsd\customconcept.xsd" 
      compiledlocation="https://myserver/ISHCS/custom/dita-custom-1-3-schema-technicalContent-xsd-customconcept.json">
    <mappings>
      <mapping>//CUSTOM//DTD DITA Concept//EN</mapping>
      <mapping>urn:custom:names:tc:dita:xsd:customconcept.xsd</mapping>
      <mapping>//CUSTOM//DTD DITA 1.x Concept//EN</mapping>
      <mapping>urn:custom:names:tc:dita:xsd:customconcept.xsd:1.x</mapping>
      <mapping>//CUSTOM//DTD DITA 1.3 Concept//EN</mapping>
      <mapping>urn:custom:names:tc:dita:xsd:customconcept.xsd:1.3</mapping>
    </mappings>
  </schema>  
</schemalocationconfig>