Entering content frame

Background documentation Document Type Definition for a Taxonomy Locate the document in its SAP Library structure

<!--  ______________________________________________________________

Author: SAP AG

Description: Format definition for a single taxonomy

 

Changes:   

___________________________________________________________________

-->

     

<!-- A taxonomy can be either an example-based or query-based taxonomy. This is indicated by the first entry.

Furthermore, a taxonomy has one root category. The name of the root category dictates the name of the taxonomy.  -->

<!ELEMENT taxonomy_01_00 ((exampleBased | queryBased), category) >

 

<!-- An example-based taxonomy has an attribute automaticClassification with one of the following values:

- manual: no automatic classification

- strict: automatic classification with very restricted assignment of documents to categories.

- medium: automatic classification with moderately restricted assignment of documents to categories.

- loose: automatic classification with loosely restricted assignment of documents to categories. -->

<!ELEMENT exampleBased EMPTY >

<!ATTLIST exampleBased

   automaticClassification (manual | strict | medium | loose) #REQUIRED

>

 

<!-- A query-based taxonomy has an attribute automaticClassification with one of the following values:

- manual: without automatic classification

- automatic: with automatic classification. -->

<!ELEMENT queryBased EMPTY >

<!ATTLIST queryBased

   automaticClassification (manual | automatic) #REQUIRED

>

 

  

<!-- A category has an element containing information about the category as well as a 'children' entry that describes its subcategories. -->

<!ELEMENT category (categoryInfo, children) >

 

 

<!ELEMENT children (category*) >

 

<!-- A category has a name and an optional display name. The display name is not used in the case of the root.  -->

<!ATTLIST category

   name CDATA #REQUIRED

   displayName CDATA  #IMPLIED

>

 

<!-- A categoryInfo entry can contain a query. Queries are only allowed if the taxonomy is query-based. -->

<!ELEMENT categoryInfo (query?) >

 

<!ELEMENT query (simpleQuery | complexQuery) >

 

<!--  A complex query consists of one or more queries that are combined by the specified Boolean operator. -->

<!ELEMENT complexQuery (query+) >

<!ATTLIST complexQuery

   booleanOperator (and | or)  #REQUIRED

>

 

<!-- There are several types of simple queries. Queries about properties can only be made for modeled properties. -->

<!ELEMENT simpleQuery (contentQuery | textAttributeQuery | booleanAttributeQuery | otherAttributeQuery)>

 

<!-- Specifies a query that checks whether the value is or is not contained in the content of a document. -->

<!ELEMENT contentQuery EMPTY>

<!ATTLIST contentQuery

   operator (contains | doesNotContain)  #REQUIRED

   value CDATA  #REQUIRED

>

 

<!-- Simple queries about properties are divided into different groups depending on their definition:

- For a property of type Integer, an 'otherAttributeQuery' has to be defined.

  These properties are indexed as Integer.

- For a property of type Date, Time, or Timestamp, an 'otherAttributeQuery' has to be defined.

  These properties are indexed as Date.

- For a property of type Boolean, a 'booleanAttributeQuery' has to be defined.

  These properties are indexed as String.

- For a property of type String with allowed values, an 'otherAttributeQuery' has to be defined.

  These properties are indexed as String.

- For a property of type String with the entry 'IndexAsString' in its 'Additional Metadata' definition, an 'otherAttributeQuery' has to be defined.

  These properties are indexed as String.

- For all other properties, a 'textAttributeQuery' has to be defined.

  These properties are indexed as Text.

 

For each of these queries, the name and namespace of the property has to be provided.

Furthermore, an operator and one value - or in the case of the operator 'between', two values - are necessary. -->

 

<!-- This entry has to be used for queries about properties which are indexed as Text. -->

<!ELEMENT textAttributeQuery EMPTY>

<!ATTLIST textAttributeQuery

   attributeName CDATA  #REQUIRED

   namespace CDATA  #REQUIRED

   operator (contains | doesNotContain)  #REQUIRED

   value CDATA  #REQUIRED

>

 

<!-- This entry has to be used for queries about properties of the type Boolean. -->

<!ELEMENT booleanAttributeQuery EMPTY>

<!ATTLIST booleanAttributeQuery

   attributeName CDATA  #REQUIRED

   namespace CDATA  #REQUIRED

   operator (is)  #REQUIRED

   value (true|false)  #REQUIRED

>

 

<!-- This entry has to be used for queries about properties indexed as Integer, Date, or String.

 

The entries in value1 and value2 must conform to the type of the property used, i.e. if the type is

- Date, Timestamp, and Time, the entry has to be in the following format YYYY-MM-DD HH:MM:SS,

- Integer, the entry has to be an integer value,

- Otherwise, the entry is handled as a string.

 

-->

<!ELEMENT otherAttributeQuery EMPTY>

<!ATTLIST otherAttributeQuery

   attributeName CDATA  #REQUIRED

   namespace CDATA  #REQUIRED

   operator (is | isNot  | isLaterThan | isLaterThanOrEqualTo | isEarlierThan | isEarlierThanOrEqualTo | between)  #REQUIRED

   value1 CDATA  #REQUIRED

   value2 CDATA  #IMPLIED

>

 

 

Leaving content frame