SLING-INF.nodetypes.vocabularies.cnd Maven / Gradle / Ivy
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
//-----------------------------------------------------------------------------
//
// Vocabularies: instances of relevant terminology vocabularies.
//
// A vocabulary consists of a list of terms.
//
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// VocabularyTerm: a term in a vocabulary.
[cards:VocabularyTerm] > nt:base, mix:referenceable, mix:versionable
// Attributes:
// We can use vocabulary terms in a query.
query
// Properties:
// Hardcode the resource type.
- sling:resourceType (STRING) = "cards/VocabularyTerm" mandatory autocreated protected
// Hardcode the resource supertype: the VocabularyTerm is a resource.
- sling:resourceSuperType (STRING) = "cards/Resource" mandatory autocreated protected
// Identifier for the term.
- identifier (STRING) mandatory
// Label or name for the term.
- label (STRING) mandatory
// Optional description of the term.
- description (STRING)
// Optional list of synonyms for the term.
- synonym (STRING) multiple
// Optional list of parents of the term.
- parents (STRING) multiple
// Optional recursive collection of parents.
- ancestors (STRING) multiple
// And any other properties
- * (undefined) multiple
- * (undefined)
//-----------------------------------------------------------------------------
// Vocabulary: a vocabulary of terms with VocabularyTerm nodes as children.
[cards:Vocabulary] > sling:Folder, mix:referenceable, mix:versionable, mix:lastModified
// Attributes:
// We can use vocabularies a query.
query
// Properties:
// Hardcode the resource type.
- sling:resourceType (STRING) = "cards/Vocabulary" mandatory autocreated protected
// Hardcode the resource supertype: the Vocabulary is a resource.
- sling:resourceSuperType (STRING) = "cards/Resource" mandatory autocreated protected
// Identifier for the vocabulary.
- identifier (STRING) mandatory
// Vocabulary name.
- name (STRING) mandatory
// Optional aliases of vocabulary.
- aliases (STRING) multiple
// Source file of vocabulary.
- source (STRING) mandatory
// Version of vocabulary.
- version (STRING) mandatory
// Optional website associated with vocabulary.
- website (STRING)
// Optional citation for vocabulary.
- citation (STRING)
// An array of references to the root nodes
- roots (reference) multiple
// Children
// The terms that make up the vocabulary.
+ * (cards:VocabularyTerm) = cards:VocabularyTerm
//-----------------------------------------------------------------------------
// The homepage for the Vocabularies space.
[cards:VocabulariesHomepage] > sling:Folder
// Attributes:
// We can use this homepage in a query.
query
// Properties:
// Hardcode the resource type.
- sling:resourceType (STRING) = "cards/VocabulariesHomepage" mandatory autocreated protected
// Hardcode the resource supertype: the VocabulariesHomepage is a resource.
- sling:resourceSuperType (STRING) = "cards/Resource" mandatory autocreated protected
// Set a default title.
- title (string) = "Vocabularies" mandatory autocreated
// Children
// The vocabulary nodes indexed by the homepage are its children.
+ * (cards:Vocabulary) = cards:Vocabulary