Documentation Center

Field Setup XML Structure

The outgoing XML structure with the field setup.

XML Description

The following table explains the meaning and the impact of the attributes on the ishfielddefinition element.

Attribute nameDescription
nameThe element name of the field (e.g. FTITLE).
levelThe InfoShare level on which the field is specified.
typeThe type of the value for this field. The allowed values are:
  • string: Each individual text value is limited to 1000 characters, but the field can be multi value.
  • longtext: The field can contain one big text.
  • datetime.
  • number.
  • ishreference: The field is referencing one or more other InfoShare objects. For instance, FAUTHOR is referencing a user and FRESOLUTION is referencing values from the list of values DRESOLUTION.
ismandatoryBoolean attribute indicating whether the field is mandatory or not.
ismultivalueBoolean attribute indicating whether the field can contain multiple values or not.
allowonreadBoolean attribute indicating whether the field can be passed as filter or passed as requested metadata to an API READ method (e.g. GetMetadata, RetrieveMetadata, Find,...).
allowoncreateBoolean attribute indicating whether the field can be set via metadata by an API CREATE method.
allowonupdateBoolean attribute indicating whether the field can be set via metadata by an API UPDATE method (e.g. SetMetadata, Update,...).
allowonsearchBoolean attribute indicating whether the field is part of the full text index and can be used as part of the search query.
issystemBoolean attribute indicating whether this field is part of the internal Content Manager business logic.
isbasicBoolean attribute indicating whether this field is a basic field (e.g. FSTATUS) or a more advanced field (e.g. FISHSTATUSTYPE).
isdescriptiveBoolean attribute indicating whether this field is one of the fields that define an object.

XML structure

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="ISHFieldSetup" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="ishfieldsetup">
    <xs:complexType>
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
        <xs:element name="ishtypedefinition">
          <xs:complexType>
            <xs:sequence minOccurs="0" maxOccurs="unbounded">
              <xs:element name="ishfielddefinition" type ="IshFieldDefinitionType"/>
            </xs:sequence>
            <xs:attribute name="name" use="required" type="IshType"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name ="IshFieldDefinitionType">
    <xs:all>
      <xs:element name="label" minOccurs="0" maxOccurs="1" type="xs:string"/>
      <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string"/>
      <xs:element name="ishreference" minOccurs="0" maxOccurs="1" type="IshReferenceType"/>
    </xs:all>
    <xs:attribute name="name" use="required" type="xs:string"/>
    <xs:attribute name="level" use="required" type="IshLevel"/>
    <xs:attribute name="type" use="required" type="IshFieldType"/>
    <xs:attribute name="ismandatory" use="required" type="xs:boolean"/>
    <xs:attribute name="ismultivalue" use="required" type="xs:boolean"/>
    <xs:attribute name="allowonread" use="required" type="xs:boolean"/>
    <xs:attribute name="allowoncreate" use="required" type="xs:boolean"/>
    <xs:attribute name="allowonupdate" use="required" type="xs:boolean"/>
    <xs:attribute name="allowonsearch" use="required" type="xs:boolean"/>
    <xs:attribute name="issystem" use="required" type="xs:boolean"/>
    <xs:attribute name="isbasic" use="required" type="xs:boolean"/>
    <xs:attribute name="isdescriptive" use="required" type="xs:boolean"/>
  </xs:complexType>
  <xs:complexType name ="IshReferenceType">
    <xs:choice minOccurs="1">
      <xs:element name="ishlov" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:attribute name="ishref" use="required" type="xs:string"/>
        </xs:complexType>
      </xs:element>
      <xs:element name="ishtype" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:attribute name="ishref" use="required" type="IshTypeReference"/>
        </xs:complexType>
      </xs:element>       
    </xs:choice>
  </xs:complexType> 
  <xs:simpleType name ="IshType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ISHConfiguration"/>
      <xs:enumeration value="ISHIllustration"/>
      <xs:enumeration value="ISHLibrary"/>
      <xs:enumeration value="ISHMasterDoc"/>
      <xs:enumeration value="ISHModule"/>
      <xs:enumeration value="ISHTemplate"/>
      <xs:enumeration value="ISHFolder"/>
      <xs:enumeration value="ISHEDT"/>
      <xs:enumeration value="ISHOutputFormat"/>
      <xs:enumeration value="ISHPublication"/>
      <xs:enumeration value="ISHBaseline"/>
      <xs:enumeration value="ISHTranslationJob"/>
      <xs:enumeration value="ISHUser"/>
      <xs:enumeration value="ISHUserGroup"/>
      <xs:enumeration value="ISHUserRole"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name ="IshTypeReference">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ISHIllustration"/>
      <xs:enumeration value="ISHLibrary"/>
      <xs:enumeration value="ISHMasterDoc"/>
      <xs:enumeration value="ISHModule"/>
      <xs:enumeration value="ISHTemplate"/>
      <xs:enumeration value="ISHFolder"/>
      <xs:enumeration value="ISHEDT"/>
      <xs:enumeration value="ISHOutputFormat"/>
      <xs:enumeration value="ISHPublication"/>
      <xs:enumeration value="ISHBaseline"/>
      <xs:enumeration value="ISHTranslationJob"/>
      <xs:enumeration value="ISHUser"/>
      <xs:enumeration value="ISHUserGroup"/>
      <xs:enumeration value="ISHUserRole"/>
      <xs:enumeration value="ISHRevision"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name ="IshLevel">
    <xs:restriction base="xs:string">
      <xs:enumeration value="logical"/>
      <xs:enumeration value="version"/>
      <xs:enumeration value="lng"/>
      <xs:enumeration value="none"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name ="IshFieldType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="string"/>
      <xs:enumeration value="longtext"/>
      <xs:enumeration value="datetime"/>
      <xs:enumeration value="number"/>
      <xs:enumeration value="ishreference"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

Example

<?xml version="1.0" encoding="utf-16"?>
<ishfieldsetup>
  <ishtypedefinition name="ISHModule">
    <ishfielddefinition name="FTITLE" level="logical" type="string" ismandatory="true" ismultivalue="false" 
      allowonread="true" allowoncreate="true" allowonupdate="true" allowonsearch="true" issystem="true" isbasic="true" isdescriptive="false">
      <label>Title</label>
      <description>Used on all logical level card types to store the title of the object.</description>
    </ishfielddefinition>
    <ishfielddefinition name="FREQUESTEDLANGUAGES" level="logical" type="ishreference" ismandatory="false" ismultivalue="true" 
      allowonread="true" allowoncreate="true" allowonupdate="true" allowonsearch="true" issystem="true" isbasic="true" isdescriptive="false">
      <label>Requested languages</label>
      <description>Used on various logical card types to store the languages that are requested for this object, matching values from DLANGUAGE. </description>
      <ishreference>
        <ishlov ishref="DLANGUAGE" />
      </ishreference>
    </ishfielddefinition>
    <ishfielddefinition name="CREATED-ON" level="logical" type="datetime" ismandatory="true" ismultivalue="false" 
      allowonread="true" allowoncreate="false" allowonupdate="false" allowonsearch="true" issystem="true" isbasic="true" isdescriptive="false">
      <label>Creation Date</label>
      <description>Used on all cards to indicate the date that the object was created</description>
    </ishfielddefinition>
    ...
    <ishfielddefinition name="VERSION" level="version" type="string" ismandatory="true" ismultivalue="false" 
      allowonread="true" allowoncreate="false" allowonupdate="false" allowonsearch="true" issystem="true" isbasic="true" isdescriptive="true">
      <label>Version</label>
      <description>Used on various version card types to store the full version number.</description>
    </ishfielddefinition>
    <ishfielddefinition name="FCHANGES" level="version" type="longtext" ismandatory="false" ismultivalue="false" 
      allowonread="true" allowoncreate="true" allowonupdate="true" allowonsearch="true" issystem="false" isbasic="true" isdescriptive="false">
      <label>Changes</label>
      <description>Used on various version card types to store the reason for version creation.</description>
    </ishfielddefinition>
    <ishfielddefinition name="CREATED-ON" level="version" type="datetime" ismandatory="true" ismultivalue="false" 
      allowonread="true" allowoncreate="false" allowonupdate="false" allowonsearch="true" issystem="true" isbasic="true" isdescriptive="false">
      <label>Creation Date</label>
      <description>Used on all cards to indicate the date that the object was created</description>
    </ishfielddefinition>
    <ishfielddefinition name="FISHBRANCHNR" level="version" type="string" ismandatory="true" ismultivalue="false" 
      allowonread="true" allowoncreate="false" allowonupdate="false" allowonsearch="false" issystem="true" isbasic="false" isdescriptive="false">
      <label>Branchnumber</label>
      <description>Used on various version card types to store the branch part of a version number; contains 0 for the main branch. (eg: VERSION holds 2.10.1 then FISHBRANCHNR holds 2.10)</description>
    </ishfielddefinition>
    <ishfielddefinition name="FISHRELEASELABEL" level="version" type="ishreference" ismandatory="false" ismultivalue="true" 
      allowonread="true" allowoncreate="false" allowonupdate="false" allowonsearch="true" issystem="true" isbasic="true" isdescriptive="false">
      <label>Release Label</label>
      <description>Used on various version card types to store a reference to a CTBASELINE that this particular version is part of the referenced frozen baseline. When freezing a baseline, this field is set automatically.</description>
      <ishreference>
        <ishtype ishref="ISHBaseline" />
      </ishreference>
    </ishfielddefinition>
	...
    <ishfielddefinition name="DOC-LANGUAGE" level="lng" type="ishreference" ismandatory="true" ismultivalue="true" 
      allowonread="true" allowoncreate="true" allowonupdate="true" allowonsearch="true" issystem="true" isbasic="true" isdescriptive="true">
      <label>Document Language</label>
      <description>Used on various language card types to hold the language of the object, matching a value from DLANGUAGE.</description>
      <ishreference>
        <ishlov ishref="DLANGUAGE" />
      </ishreference>
    </ishfielddefinition>
    <ishfielddefinition name="FAUTHOR" level="lng" type="ishreference" ismandatory="true" ismultivalue="false" 
      allowonread="true" allowoncreate="true" allowonupdate="true" allowonsearch="true" issystem="false" isbasic="true" isdescriptive="false">
      <label>Author</label>
      <description>Used on various language card types to store the reference to the USER card indicated as author.</description>
      <ishreference>
        <ishtype ishref="ISHUser" />
      </ishreference>
    </ishfielddefinition>
    <ishfielddefinition name="FSTATUS" level="lng" type="ishreference" ismandatory="true" ismultivalue="false" 
      allowonread="true" allowoncreate="true" allowonupdate="true" allowonsearch="true" issystem="true" isbasic="true" isdescriptive="false">
      <label>Status</label>
      <description>Used on various language card types to store the current status, matching a value from DSTATUS.</description>
      <ishreference>
        <ishlov ishref="DSTATUS" />
      </ishreference>
    </ishfielddefinition>
    <ishfielddefinition name="CREATED-ON" level="lng" type="datetime" ismandatory="true" ismultivalue="false" 
      allowonread="true" allowoncreate="false" allowonupdate="false" allowonsearch="true" issystem="true" isbasic="true" isdescriptive="false">
      <label>Creation Date</label>
      <description>Used on all cards to indicate the date that the object was created</description>
    </ishfielddefinition>
    <ishfielddefinition name="ED" level="lng" type="ishreference" ismandatory="false" ismultivalue="true" 
      allowonread="true" allowoncreate="false" allowonupdate="false" allowonsearch="false" issystem="true" isbasic="false" isdescriptive="false">
      <label>Electronic Documents</label>
      <description>Relation field that links to the card containing the elektronic document (content) of an object</description>
      <ishreference>
        <ishtype ishref="ISHRevision" />
      </ishreference>
    </ishfielddefinition>
    <ishfielddefinition name="FISHSTATUSTYPE" level="lng" type="number" ismandatory="false" ismultivalue="false" 
      allowonread="true" allowoncreate="false" allowonupdate="false" allowonsearch="true" issystem="true" isbasic="false" isdescriptive="false">
      <label>Status type</label>
      <description>Contains the mapping of the FISHSTATUS / FISHPUBSTATUS with its enum values:DrafT(10), Release Candidate(15), Released(20)</description>
    </ishfielddefinition>
    ...
  </ishtypedefinition>
  ...
</ishfieldsetup>