XML Schema Documentation


Table of Contents

top

Schema Document Properties

Target Namespace None
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.

Declared Namespaces

Prefix Namespace
xml http://www.w3.org/XML/1998/namespace
xs http://www.w3.org/2001/XMLSchema
top

Global Declarations


Element: items

Type Locally-defined complex type
Nillable no
Abstract no
Documentation Defines the types of your extension.
XML Instance Representation
<items>
<atomictypes> atomictypesType </atomictypes> [0..1]
Defines the list of AtomicType's for your extension.
<collectiontypes> collectiontypesType </collectiontypes> [0..1]
Defines the list of CollectionType's for your extension.
<enumtypes> enumtypesType </enumtypes> [0..1]
Defines the list of EnumerationType's for your extension.
<maptypes> maptypesType </maptypes> [0..1]
Defines the list of MapType's for your extension.
<relations> relationsType </relations> [0..1]
Defines the list of RelationType's for your extension.
<itemtypes> itemtypesType </itemtypes> [0..1]
Defines the list of ComposedType's for your extension.
</items>
top

Global Definitions


Complex Type: atomictypesType

Parent type: None
Sub-types: None
Abstract no
Documentation Defines a list of atomic types.
XML Instance Representation
<...>
<atomictype> atomictypeType </atomictype> [0..*]
An AtomicType represents a simple java object. (The name 'atomic' just means 'non-composed' objects.)
</...>
top

Complex Type: atomictypeType

Parent type: None
Sub-types: None
Abstract no
Documentation An AtomicType represents a simple java object. (The name 'atomic' just means 'non-composed' objects.)
XML Instance Representation
<...
class=" classType " [1]
Corresponding Java class in the hybris Suite; will also be used as the code of the atomic type.
autocreate=" boolean " [0..1]
If 'true', the AtomicType will be created during initialization.
generate=" boolean " [0..1]
Deprecated. Has no effect for atomic types. Default is 'true'.
extends=" classType " [0..1]
Defines the class which will be extended. Default is 'java.lang.Object'.
/>
top

Complex Type: attributeModelType

Parent type: None
Sub-types: None
Abstract no
Documentation Allows to configure model generation for this attribute used at servicelayer.
XML Instance Representation
<...
generate=" boolean " [0..1]
Whether getter and setter methods for the model representation of the attribute will be generated. Default is 'true'.
>
<getter> modelMethodType </getter> [0..*]
Allows to configure alternative getter methods at generated model.
<setter> modelMethodType </setter> [0..*]
Allows to configure alternative setter methods at generated model.
</...>
top

Complex Type: attributesType

Parent type: None
Sub-types: None
Abstract no
Documentation Configures a list of attributes.
XML Instance Representation
<...>
<attribute> attributeType </attribute> [0..*]
Defines a single attribute.
</...>
top

Complex Type: attributeType

Parent type: None
Sub-types: None
Abstract no
Documentation Defines an attribute of a type.
XML Instance Representation
Start All [1]
End All
<...
redeclare=" boolean " [0..1]
Lets you re-define the attribute definition from an inherited type. In essence, you can use a different type of attribute as well as different modifier combinations than on the supertype. Default is 'false'.
qualifier=" string " [1]
Qualifier of this attribute. Attribute qualifiers must be unique across a single type.
type=" string " [1]
The type of the attribute, such as 'Product', 'int' or 'java.lang.String'. Primitive java types will be mapped to the corresponding atomic type. For example: 'int' will be mapped to the atomic type 'java.lang.Integer' with implicit default value.
metatype=" string " [0..1]
Advanced setting. Specifies the metatype for the attributes definition. Must be a type extending AttributeDescriptor. Default is 'AttributeDescriptor'.
autocreate=" boolean " [0..1]
If 'true', the attribute descriptor will be created during initialization. Default is 'true'.
generate=" boolean " [0..1]
If 'true', getter and setter methods for this attribute will be generated during a hybris Suite build. Default is 'true'.
isSelectionOf=" string " [0..1]
References an attribute of the same type. Only values of the referenced attribute can be selected as values for this attribute. Typical example: the default delivery address of a customer must be one of the addresses set for the customer. Default is 'false'.
>
<defaultvalue> defaultValueType </defaultvalue> [0..1]
Configures a default value for this attribute used if no value is provided. The default value is calculated by initialization and will not be re-calculated by runtime.
<description> string </description> [0..1]
Gives a description for this attribute only used for the javadoc of generated attribute methods.
<persistence> persistenceType </persistence> [0..1]
Defines how the values of the attribute will be stored. Possible values: 'cmp' (deprecated), 'jalo' (not persistent, deprecated), 'property' (persistent), 'dynamic' (not persisted).
<modifiers> modifiersType </modifiers> [0..1]
Configures advanced settings for this attribute definition.
<custom-properties> customPropertiesType </custom-properties> [0..1]
Allows to configure custom properties for this attribute.
<model> attributeModelType </model> [0..1]
Allows to configure model generation settings for this attribute. Models are used by the hybris ServiceLayer.
</...>
top

Complex Type: collectiontypesType

Parent type: None
Sub-types: None
Abstract no
Documentation Defines a list of collection types.
XML Instance Representation
<...>
<collectiontype> collectiontypeType </collectiontype> [0..*]
A CollectionType defines a collection of typed elements.
</...>
top

Complex Type: collectiontypeType

Parent type: None
Sub-types: None
Abstract no
Documentation A CollectionType defines a collection of typed elements. Attention: If using a collection type for persistent attributes (not jalo) you can not search on that attribute and you are limited in size of collection. Consider to use a relation instead.
XML Instance Representation
<...
code=" codeType " [1]
The code (that is, qualifier) of the CollectionType.
elementtype=" codeType " [1]
The type of elements of this CollectionType.
autocreate=" boolean " [0..1]
If 'true', the CollectionType will be created during initialization.
generate=" boolean " [0..1]
Deprecated. Has no effect for collection types. Default is 'true'.
type=" NMTOKEN ( value comes from list: {'set'|'list'|'collection'}) " [0..1]
Configures the type of this collection: 'set', 'list', 'collection'. The getter / setter methods will use corresponding Java collection interfaces. Default is 'collection'.
/>
top

Complex Type: columntypeType

Parent type: None
Sub-types: None
Abstract no
Documentation Configures a persistence definition for a specific database.
XML Instance Representation
<...
database=" string " [0..1]
The database the given definition will be used for. One of 'oracle', 'mysql', 'sqlserver' or 'hsql'. Default is empty which configures fallback for non specified databases.
>
<value> string </value> [1]
The attribute type used in the create statement of the database table, such as 'varchar2(4000)'.
</...>
top

Complex Type: customPropertiesType

Parent type: None
Sub-types: None
Abstract no
Documentation Defines custom properties.
XML Instance Representation
<...>
<property> customPropertyType </property> [0..*]
Defines a custom property.
</...>
top

Complex Type: customPropertyType

Parent type: None
Sub-types: None
Abstract no
Documentation Defines a custom property.
XML Instance Representation
<...
name=" string " [1]
The name of the custom property.
>
<value> defaultValueType </value> [1]
The value of the custom property.
</...>
top

Complex Type: deploymentType

Parent type: None
Sub-types: None
Abstract no
Documentation A deployment defines how a (generic) item or relation is mapped onto the database.
XML Instance Representation
<...
table=" string " [1]
The mapped database table. Must be globally unique.
typecode=" positiveshort " [1]
The mapped item type code. Must be globally unique
propertytable=" string " [0..1]
The mapped dump property database table to be used for this item. Default is 'props'.
/>
top

Complex Type: enumModelType

Parent type: None
Sub-types: None
Abstract no
Documentation Configures a single enum model pojo.
XML Instance Representation
<...
package=" string " [0..1]
Defines the package for the actual enum model pojo.
/>
top

Complex Type: enumtypesType

Parent type: None
Sub-types: None
Abstract no
Documentation Defines a list of enumeration types.
XML Instance Representation
<...>
<enumtype> enumtypeType </enumtype> [0..*]
An EnumerationType defines fixed value types. (The typesystem provides item enumeration only)
</...>
top

Complex Type: enumtypeType

Parent type: None
Sub-types: None
Abstract no
Documentation An EnumerationType defines fixed value types. (The typesystem provides item enumeration only)
XML Instance Representation
<...
code=" codeType " [1]
The unique code of this Enumeration.
autocreate=" boolean " [0..1]
If 'true', the item will be created during initialization.
generate=" boolean " [0..1]
If 'false' no constants will be generated at constant class of extension as well as at corresponding servicelayer enum class. Default is 'true'.
jaloclass=" classType " [0..1]
Specifies the name of the associated jalo class. The specified class must extend de.hybris.platform.jalo.enumeration.EnumerationValue and will not be generated. By specifying a jalo class you can change the implementation to use for the values of this enumeration. By default EnumerationValue class is used.
dynamic=" boolean " [0..1]
Whether it is possible to add new values by runtime. Also results in different types of enums: 'true' results in 'classic' hybris enums, 'false' results in Java enums. Default is false. Both kinds of enums are API compatible, and switching between enum types is possible by running a system update.
deprecatedSince=" string " [0..1]
Marks enum as deprecated since specified version.
>
<description> string </description> [0..1]
Provides possibility to add meaningfull description phrase for a generated model class.
<model> enumModelType </model> [0..1]
Allows changing enum model settings.
<value> enumValueType </value> [0..*]
Configures one value of this Enumeration.
</...>
top

Complex Type: enumValueType

Parent type: None
Sub-types: None
Abstract no
Documentation Configures a single enum value.
XML Instance Representation
<...
code=" enumCodeType " [1]
The unique code of this element.
>
<description> string </description> [0..1]
Provides possibility to add meaningfull description phrase for a generated model class.
</...>
top

Complex Type: indexesType

Parent type: None
Sub-types: None
Abstract no
Documentation Configures a list of indexes.
XML Instance Representation
<...>
<index> indexType </index> [1..*]
Configures a single index.
</...>
top

Complex Type: indexKeyType

Parent type: None
Sub-types: None
Abstract no
Documentation Configures a single index key.
XML Instance Representation
<...
attribute=" string " [1]
Type attribute to be indexed.
lower=" boolean " [0..1]
Elements will be indexed case-insensitive. Default is 'false'.
/>
top

Complex Type: indexType

Parent type: None
Sub-types: None
Abstract no
Documentation Configures a database index for enclosing type.
XML Instance Representation
<...
name=" string " [1]
The name prefix of the index.
remove=" boolean " [0..1]
If 'true' this index will be ommitted while in initialization process even if there were precendent declarations.This attribute has effect only if replace = true.
replace=" boolean " [0..1]
If 'true' this index is a replacement/redeclaration for already existing index.
unique=" boolean " [0..1]
If 'true', the value of this attribute has to be unique within all instances of this index. Attributes with persistence type set to 'jalo' can not be unique. Default is 'false'.
creationmode=" NMTOKEN ( value comes from list: {'all'|'force'|'sap'|'mysql'|'oracle'|'sqlserver'|'hsqldb'|'postgresql'}) " [0..1]
Determines index creation mode.
>
<key> indexKeyType </key> [0..*]
Configures a single index key.
</...>
top

Complex Type: itemModelType

Parent type: None
Sub-types: None
Abstract no
Documentation Allows to configure model generation for this item used at servicelayer.
XML Instance Representation
<...
generate=" boolean " [0..1]
Whether a model for the type and models for subtypes will be generated. Default is 'true'.
>
<constructor> modelConstructorType </constructor> [0..*]
Allows to configure model constructor signatures.
</...>
top

Complex Type: itemtypesType

Parent type: None
Sub-types: None
Abstract no
Documentation Defines a grouping of item types.
XML Instance Representation
<...>
<itemtype> itemtypeType </itemtype> [0..*]
Specifies a specific ComposedType.
<typegroup> typeGroupType </typegroup> [0..*]
Specifies a group of ComposedTypes to allow better structuring within the items.xml file.
</...>
top

Complex Type: itemtypeType

Parent type: None
Sub-types: None
Abstract no
Documentation Specifies a specific ComposedType.
XML Instance Representation

<!-- Mixed content -->
<...
code=" codeType " [1]
The unique code of this type.
extends=" classType " [0..1]
Defines the class, which will be extended. Default is 'GenericItem'.
jaloclass=" classType " [0..1]
Specifies the name of the associated jalo class. Default is [extension-root-package].jalo.[type-code] which will be generated if not existent.
deployment=" deploymentRefType " [0..1]
Deprecated, please use separate deployment sub tag. All instances of this type will be stored in a separated database table. The value of this attribute represents a reference to the specified deployment in the corresponding 'advanced-deployment.xml'. Default is empty.
singleton=" boolean " [0..1]
If 'true', type gets marked as singleton which will be evaluated by some modules like hmc or impex, with that allowing only one instance per system. Default is 'false'.
jaloonly=" boolean " [0..1]
DEPRECATED. Use 'implements JaloOnlyItem' in your bean. If 'true', the item will only exists in the jalo layer and isn't backed by an entity bean. Default is 'false'.
autocreate=" boolean " [0..1]
If 'true', the item will be created during initialization. Default is 'true'.
generate=" boolean " [0..1]
If 'true', the sourcecode for this item will be created. Default is 'true'.
abstract=" boolean " [0..1]
Marks type and jalo class as abstract. If 'true', the type can not be instantiated. Default is 'false'.
metatype=" string " [0..1]
The (meta)type which describes the assigned type. Must be a type extensing ComposedType. Default is 'ComposedType'.
deprecatedSince=" string " [0..1]
Marks item as deprecated since specified version.
>
<description> string </description> [0..1]
Provides possibility to add meaningfull description phrase for a generated model class.
<deployment> deploymentType </deployment> [0..1]
A deployment defines how a (generic) item or relation is mapped onto the database.
<custom-properties> customPropertiesType </custom-properties> [0..1]
Defines a list of custom properties for this type.
<attributes> attributesType </attributes> [0..1]
Defines the list of item attributes.
<indexes> indexesType </indexes> [0..1]
Defines the database indexes for this type.
<model> itemModelType </model> [0..1]
Allows to configure model generation for this item used at servicelayer.
</...>
top

Complex Type: maptypesType

Parent type: None
Sub-types: None
Abstract no
Documentation Specifies a list of map types.
XML Instance Representation
<...>
<maptype> maptypeType </maptype> [0..*]
Like the java collection framework, a type, which defines map objects. Attention: When used as type for an attribute, the attribute will not be searchable and the access performance is not effective. Consider to use a relation.
</...>
top

Complex Type: maptypeType

Parent type: None
Sub-types: None
Abstract no
Documentation Like the java collection framework, a type, which defines map objects. Attention: When used as type for an attribute, the attribute will not be searchable and the access performance is not effective. Consider to use a relation.
XML Instance Representation
<...
code=" codeType " [1]
The unique code of the map.
argumenttype=" classType " [1]
The type of the key attributes.
returntype=" classType " [1]
The type of the value attributes.
autocreate=" boolean " [0..1]
If 'true', the item will be created during initialization. Default is 'true'.
generate=" boolean " [0..1]
Deprecated. Has no effect for map types. Default is 'true'.
redeclare=" boolean " [0..1]
Deprecated. Has no effect for map types. Default is 'false'.
/>
top

Complex Type: modelConstructorType

Parent type: None
Sub-types: None
Abstract no
Documentation Allows to configure model constructor signatures.
XML Instance Representation
<...
signature=" string " [1]
Add here, as comma separated list, the attribute qualifiers for the constructor signature in the model.
/>
top

Complex Type: modelMethodType

Parent type: None
Sub-types: None
Abstract no
Documentation Allows to configure alternative methods at generated model.
XML Instance Representation
<...
name=" string " [1]
Name of the alternative getter method.
deprecated=" boolean " [0..1]
Will the method be marked deprecated? Default is false.
deprecatedSince=" string " [0..1]
Version since when this method is marked as deprecated. Settting deprecatedSince attribute automatically sets deprecated attribute to true.
default=" boolean " [0..1]
Will this method be the default method and replace the original one instead of adding it additional? Default is false.
>
Start Sequence [0..1]
<nullDecorator> string </nullDecorator> [1]
End Sequence
</...>
top

Complex Type: modifiersType

Parent type: None
Sub-types: None
Abstract no
Documentation Specifies further properties of an attribute which can be redeclared at other extensions.
XML Instance Representation
<...
read=" boolean " [0..1]
Defines if this attribute is readable (that is, if a getter method will be generated). Default is 'true'. The visibility of the getter depends on the value of the private attribute.
write=" boolean " [0..1]
Defines if this attribute is writable (that is, if a setter method will be generated). Default is 'true'. The visibility of the setter depends on the value of the private attribute.
search=" boolean " [0..1]
Defines if this attribute is searchable by a FlexibleSearch. Default is 'true'. Attributes with persistence type set to 'jalo' can not be searchable.
optional=" boolean " [0..1]
Defines if this attribute is mandatory or optional. Default is 'true' for optional. Set to 'false' for mandatory.
private=" boolean " [0..1]
Defines the Java visibility of the generated getter and setter methods for this attribute. If 'true', the visibility modifier of generated methods is set to 'protected'; if 'false', the visibility modifier is 'public'. Default is 'false' for 'public' generated methods. Also, you will have no generated methods in the ServiceLayer if 'true'.
initial=" boolean " [0..1]
If 'true', the attribute will only be writable during the item creation. Setting this to 'true' is only useful in combination with write='false'. Default is 'false'.
removable=" boolean " [0..1]
Defines if this attribute is removable. Default is 'true'.
partof=" boolean " [0..1]
Defines if the assigned attribute value only belongs to the current instance of this type. Default is 'false'.
unique=" boolean " [0..1]
If 'true', the value of this attribute has to be unique within all instances of this type. If there are multiple attributes marked as unique, then their combined values must be unique. Will not be evaluated at jalo layer, if you want to manage the attribute directly using jalo layer you have to ensure uniqueness manually. Default is 'false'.
dontOptimize=" boolean " [0..1]
If 'true' the attribute value will be stored in the 'global' property table, otherwise a separate column (inside the table of the associated type)will be created for storing its values. Default is 'false'.
encrypted=" boolean " [0..1]
If 'true', the attribute value will be stored in an encrypted way. Default is 'false'.
/>
top

Complex Type: persistenceType

Parent type: None
Sub-types: None
Abstract no
Documentation Defines how the values of the attribute will be stored. Possible values: 'cmp' (deprecated), 'jalo' (not persistent), and 'property' (persistent).
XML Instance Representation
<...
type=" NMTOKEN ( value comes from list: {'property'|'jalo'|'cmp'|'dynamic'}) " [1]
Defines how the values of the attribute will be stored. Possible values: 'cmp' (deprecated), 'jalo' (not persistent, deprecated), 'property' (persistent), 'dynamic' (not persisted).
qualifier=" string " [0..1]
Deprecated. Only usable in relation with 'cmp' and 'property'(compatibility reasons) persistence type. Default is empty.
attributeHandler=" string " [0..1]
Spring bean id that handles dynamic attributes implementation.
>
<columntype> columntypeType </columntype> [0..*]
Configures a persistence definition for a specific database used at create statement.
</...>
top

Complex Type: relationElementType

Parent type: None
Sub-types: None
Abstract no
Documentation Configures the generated attribute at one relation end.
XML Instance Representation
<...
type=" codeType " [1]
Type of attribute which will be generated at type configured for opposite relation end.
qualifier=" string " [0..1]
Qualifier of attribute which will be generated at type configured for opposite relation end. If navigable is not set to false the qualifier is mandatory. Default is empty.
metatype=" string " [0..1]
The (meta)type which describes the attributes type. Must be type extending RelationDescriptor. Default is 'RelationDescriptor'.
cardinality=" NMTOKEN ( value comes from list: {'one'|'many'}) " [0..1]
The cardinality of this relation end. Choose 'one' for 'one' part of a 1:n relation or 'many' when part of a n:m relation. A 1:1 relation is not supported. Default is 'many'.
navigable=" boolean " [0..1]
Is the relation navigable from this side. Can only be disabled for one side of many to many relation. If disabled, no qualifier as well as modifiers can be defined. Default is 'true'.
collectiontype=" NMTOKEN ( value comes from list: {'set'|'list'|'collection'}) " [0..1]
Configures the type of this collection if element has cardinality 'many'. Related attribute getter / setter will use corresponding java collection interfaces. Default is 'Collection'.
ordered=" boolean " [0..1]
If 'true' an additional ordering attribute will be generated for maintaining ordering. Default is 'false'.
>
<description> string </description> [0..1]
Documents this relation attribute. Will be cited at javadoc of generated getters/setters.
<modifiers> modifiersType </modifiers> [0..1]
Defines properties for the attribute.
<model> attributeModelType </model> [0..1]
Allows to configure model generation for this relation attribute used at servicelayer.
<custom-properties> customPropertiesType </custom-properties> [0..1]
Allows to configure custom properties for the relation attribute.
</...>
top

Complex Type: relationsType

Parent type: None
Sub-types: None
Abstract no
Documentation Defines a list of relation types.
XML Instance Representation
<...>
<relation> relationType </relation> [0..*]
A RelationType defines a n-m or 1-n relation between types.
</...>
top

Complex Type: relationType

Parent type: None
Sub-types: None
Abstract no
Documentation A RelationType defines a n-m or 1-n relation between types.
XML Instance Representation

<!-- Mixed content -->
<...
code=" codeType " [1]
The typecode.
localized=" boolean " [1]
A localized n-m relation can have a link between two items for each language.
deployment=" deploymentRefType " [0..1]
Deprecated, please use separate deployment sub tag. All instances of this type will be stored in a separated database table. The value of this attribute represents a reference to the specified deployment in the corresponding 'advanced-deployment.xml'. Default is empty.
autocreate=" boolean " [0..1]
If 'true', the item will be created during initialization.
generate=" boolean " [0..1]
Deprecated. Will have no effect for relations.
>
<description> string </description> [0..1]
Provides possibility to add meaningfull description phrase for a generated model class.
<deployment> deploymentType </deployment> [0..1]
Configures deployment information for this relation (table name and typecode).
<sourceElement> relationElementType </sourceElement> [1]
Configures the generated attribute at source relation end
<targetElement> relationElementType </targetElement> [1]
Configures the generated attribute at target relation end
</...>
top

Complex Type: typeGroupType

Parent type: None
Sub-types: None
Abstract no
XML Instance Representation
<...
name=" string " [0..1]
Defines the name of this group. Only for structural purpose, will have no effect on runtime. Default is empty.
>
<itemtype> itemtypeType </itemtype> [0..*]
Specifies a specific ComposedType.
</...>
top

Complex Type: valueType

Parent type: None
Sub-types: None
Abstract no
Documentation Configures a single element.
XML Instance Representation
<...
code=" codeType " [1]
The unique code of this element.
/>
top

Simple Type: classType

Parent type: normalizedString (derivation method: restriction)
Sub-types: None
Content
  • Base XSD Type: normalizedString
Documentation Configures the class to use for enclosing element.
top

Simple Type: codeType

Parent type: normalizedString (derivation method: restriction)
Sub-types: None
Content
  • Base XSD Type: normalizedString
Documentation Configures the code of an element.
top

Simple Type: defaultValueType

Parent type: string (derivation method: restriction)
Sub-types: None
Content
  • Base XSD Type: string
Documentation Defines a default value text.
top

Simple Type: deploymentRefType

Parent type: normalizedString (derivation method: restriction)
Sub-types: None
Content
  • Base XSD Type: normalizedString
Documentation Deprecated. Defines a reference to a deployment definition.
top

Simple Type: enumCodeType

Parent type: normalizedString (derivation method: restriction)
Sub-types: None
Content
  • Base XSD Type: normalizedString
  • pattern = ([a-zA-Z_])+([a-z_A-Z$0-9])*
Documentation Configures the code of an enumeration value element. Must start with a letter or underscore.
top

Simple Type: positiveshort

Parent type: short (derivation method: restriction)
Sub-types: None
Content
  • Base XSD Type: short
  • 0 <= value <= 32767
top