Changeset 921 for metadata


Ignore:
Timestamp:
11/22/10 13:18:02 (14 years ago)
Author:
dietuyt
Message:

Added documentation to the XSD.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • metadata/trunk/toolkit/general-component-schema.xsd

    r562 r921  
    2222                    </xs:complexType>
    2323                </xs:element>
    24                 <xs:element name="CMD_Component" type="CMD_Component_type" maxOccurs="unbounded"/>
    25                 <!-- changed: no CMD_Elements allowed anymore at the top level!
    26                     <xs:group ref="group"/> -->
     24                <xs:element name="CMD_Component" type="CMD_Component_type" maxOccurs="unbounded">
     25                    <xs:annotation>
     26                        <xs:documentation>At the root level there should always be a
     27                        Component.</xs:documentation>
     28                    </xs:annotation>
     29                </xs:element>
    2730            </xs:sequence>
    2831            <xs:attribute name="isProfile" type="xs:boolean" use="required"/>
     
    3033    </xs:element>
    3134
    32     <!-- recursive construction  -->
     35    <!-- recursive construction: A component can contain elements and/or other components  -->
    3336    <xs:group name="group">
    3437        <xs:sequence>
     
    3740            <xs:element name="CMD_Element" type="CMD_Element_type" minOccurs="0"
    3841                maxOccurs="unbounded"> </xs:element>
    39             <xs:element name="CMD_Component" type="CMD_Component_type" minOccurs="0" maxOccurs="unbounded"/>
     42            <xs:element name="CMD_Component" type="CMD_Component_type" minOccurs="0"
     43                maxOccurs="unbounded"/>
    4044        </xs:sequence>
    4145    </xs:group>
     
    4448    <xs:complexType name="CMD_Element_type">
    4549        <xs:sequence>
    46             <xs:element name="AttributeList" type="AttributeList_type" minOccurs="0" maxOccurs="1"/>
     50            <xs:element name="AttributeList" type="AttributeList_type" minOccurs="0" maxOccurs="1">
     51                <xs:annotation>
     52                    <xs:documentation>The AttributeList child of an element contains a set of XML
     53                        attributes for that element.</xs:documentation>
     54                </xs:annotation>
     55            </xs:element>
    4756            <xs:element minOccurs="0" maxOccurs="1" name="ValueScheme" type="ValueScheme_type">
    48                
     57                <xs:annotation>
     58                    <xs:documentation>When an element is linked to a regular expression or a
     59                        controlled vocabulary, the ValueScheme sub-element contains more information
     60                        about this.</xs:documentation>
     61                </xs:annotation>
    4962            </xs:element>
    5063        </xs:sequence>
     
    5568    <xs:complexType name="ValueScheme_type">
    5669        <xs:choice>
    57             <xs:element name="pattern" type="xs:string" maxOccurs="1"/>
    58             <xs:element name="enumeration" type="enumeration_type"> </xs:element>
     70            <xs:element name="pattern" type="xs:string" maxOccurs="1">
     71                <xs:annotation>
     72                    <xs:documentation>Specification of a regular expression the element should
     73                        comply with.</xs:documentation>
     74                </xs:annotation>
     75            </xs:element>
     76            <xs:element name="enumeration" type="enumeration_type">
     77                <xs:annotation>
     78                    <xs:documentation>A list of the allowed values of a controlled
     79                    vocabulary.</xs:documentation>
     80                </xs:annotation>
     81            </xs:element>
    5982        </xs:choice>
    6083    </xs:complexType>
    6184
    6285
    63     <xs:complexType name="AttributeList_type"> 
     86    <xs:complexType name="AttributeList_type">
    6487        <xs:sequence>
    6588            <xs:element name="Attribute" minOccurs="1" maxOccurs="unbounded">
    6689                <xs:complexType>
    6790                    <xs:sequence>
    68                         <xs:element name="Name" type="xs:string"/>
     91                        <xs:element name="Name" type="xs:string">
     92                            <xs:annotation>
     93                                <xs:documentation>The name of the attribute.</xs:documentation>
     94                            </xs:annotation>
     95                        </xs:element>
    6996                        <xs:choice>
    70                             <xs:element name="Type" type="allowed_attributetypes_type"/>
    71                             <xs:element name="ValueScheme" type="ValueScheme_type"/>
    72                         </xs:choice>                       
     97                            <xs:element name="Type" type="allowed_attributetypes_type">
     98                                <xs:annotation>
     99                                    <xs:documentation>For the use of simple XML types as the type of
     100                                        the attribute.</xs:documentation>
     101                                </xs:annotation>
     102                            </xs:element>
     103                            <xs:element name="ValueScheme" type="ValueScheme_type">
     104                                <xs:annotation>
     105                                    <xs:documentation>For the use of a regular expression or a
     106                                        controlled vocabulary as the type of the
     107                                    attribute.</xs:documentation>
     108                                </xs:annotation>
     109                            </xs:element>
     110                        </xs:choice>
    73111                    </xs:sequence>
    74112                </xs:complexType>
     
    85123    <!-- list of all attributes that can be bound to a cl_el -->
    86124    <xs:attributeGroup name="clarin_element_attributes">
    87         <xs:attribute name="name" type="xs:Name" use="required"/>
    88         <xs:attribute name="ConceptLink" type="xs:anyURI"/>
    89         <xs:attribute name="ValueScheme" type="allowed_attributetypes_type"/>
    90         <xs:attribute name="CardinalityMin" type="cardinality_type"/>
    91         <xs:attribute name="CardinalityMax" type="cardinality_type"/>
    92         <xs:attribute name="Documentation" type="xs:string"/>
    93         <xs:attribute name="DisplayPriority" type="xs:integer"/>
    94         <xs:attribute name="Multilingual" type="xs:boolean"/>
     125        <xs:attribute name="name" type="xs:Name" use="required">
     126            <xs:annotation>
     127                <xs:documentation>The name of the element.</xs:documentation>
     128            </xs:annotation>
     129        </xs:attribute>
     130        <xs:attribute name="ConceptLink" type="xs:anyURI">
     131            <xs:annotation>
     132                <xs:documentation>A link to the ISOcat data category registry (or any other concept
     133                    registry).</xs:documentation>
     134            </xs:annotation>
     135        </xs:attribute>
     136        <xs:attribute name="ValueScheme" type="allowed_attributetypes_type">
     137            <xs:annotation>
     138                <xs:documentation>Used to specify that an element has a simple XML type (string,
     139                    integer, etc)</xs:documentation>
     140            </xs:annotation>
     141        </xs:attribute>
     142        <xs:attribute name="CardinalityMin" type="cardinality_type">
     143            <xs:annotation>
     144                <xs:documentation>Minimal number of occurrences.</xs:documentation>
     145            </xs:annotation>
     146        </xs:attribute>
     147        <xs:attribute name="CardinalityMax" type="cardinality_type">
     148            <xs:annotation>
     149                <xs:documentation>Maximal number of occurrences.</xs:documentation>
     150            </xs:annotation>
     151        </xs:attribute>
     152        <xs:attribute name="Documentation" type="xs:string">
     153            <xs:annotation>
     154                <xs:documentation>Some information an application (eg Arbil) can display to give
     155                    guidance to the user when entering metadata.</xs:documentation>
     156            </xs:annotation>
     157        </xs:attribute>
     158        <xs:attribute name="DisplayPriority" type="xs:integer">
     159            <xs:annotation>
     160                <xs:documentation>The element with the highest priority will be displayed as the
     161                    label for a metadata file (eg in Arbil)</xs:documentation>
     162            </xs:annotation>
     163        </xs:attribute>
     164        <xs:attribute name="Multilingual" type="xs:boolean">
     165            <xs:annotation>
     166                <xs:documentation>Indicates that this element can have values in multiple languages
     167                    (and thus is repeatable). This will result in the possibility of using the
     168                    xml:lang attribute in the metadata instances that are
     169                created.</xs:documentation>
     170            </xs:annotation>
     171        </xs:attribute>
    95172    </xs:attributeGroup>
    96173
     
    98175    <xs:attributeGroup name="clarin_component_attributes">
    99176        <xs:attribute name="name" type="xs:Name"/>
    100         <xs:attribute name="ComponentId" type="xs:anyURI"/>
    101         <xs:attribute name="ConceptLink" type="xs:anyURI"/>
    102         <xs:attribute name="filename" type="xs:anyURI"/>
    103        
     177        <xs:attribute name="ComponentId" type="xs:anyURI">
     178            <xs:annotation>
     179                <xs:documentation>Indicates that a component (using its unique ComponentId issued by
     180                    the ComponentRegistry) should be included.</xs:documentation>
     181            </xs:annotation>
     182        </xs:attribute>
     183        <xs:attribute name="ConceptLink" type="xs:anyURI">
     184            <xs:annotation>
     185                <xs:documentation>A link to the ISOcat data category registry (or any other concept
     186                    registry). Currently not used.</xs:documentation>
     187            </xs:annotation>
     188        </xs:attribute>
     189        <xs:attribute name="filename" type="xs:anyURI">
     190            <xs:annotation>
     191                <xs:documentation>Outdated way of including an external component. Here for backward
     192                    compatibility with the XML-cmdi-toolkit.</xs:documentation>
     193            </xs:annotation>
     194        </xs:attribute>
     195
    104196        <!-- (components cannot have a ValueScheme attribute) -->
    105        
    106         <xs:attribute name="CardinalityMin" type="cardinality_type" />
     197
     198        <xs:attribute name="CardinalityMin" type="cardinality_type"/>
    107199        <xs:attribute name="CardinalityMax" type="cardinality_type"/>
    108200        <xs:attribute ref="xml:base"/>
    109201    </xs:attributeGroup>
    110    
    111    
     202
     203
    112204    <xs:simpleType name="cardinality_type">
    113205        <xs:annotation>
     
    124216            </xs:simpleType>
    125217        </xs:union>
    126     </xs:simpleType>   
     218    </xs:simpleType>
    127219
    128220    <xs:simpleType name="allowed_attributetypes_type">
     
    130222            <xs:documentation>Subset of XSD types that are allowed as CMD type</xs:documentation>
    131223        </xs:annotation>
    132        
     224
    133225        <xs:restriction base="xs:token">
    134226            <xs:enumeration value="boolean"/>
     
    150242        </xs:annotation>
    151243        <xs:choice minOccurs="0" maxOccurs="unbounded">
    152             <xs:element name="item" type="item_type" />
    153             <xs:element name="appinfo" type="xs:string" />
     244            <xs:element name="item" type="item_type">
     245                <xs:annotation>
     246                    <xs:documentation>An item from a controlled vocabulary.</xs:documentation>
     247                </xs:annotation>
     248            </xs:element>
     249            <xs:element name="appinfo" type="xs:string">
     250                <xs:annotation>
     251                    <xs:documentation>End-user guidance about the value of the controlled vocabulary
     252                        as a whole. Currently not used.</xs:documentation>
     253                </xs:annotation>
     254            </xs:element>
    154255        </xs:choice>
    155256    </xs:complexType>
     
    158259        <xs:simpleContent>
    159260            <xs:extension base="xs:string">
    160                 <xs:attribute type="xs:anyURI" name="ConceptLink"/>
    161                 <xs:attribute type="xs:string" name="AppInfo"/>
     261                <xs:attribute type="xs:anyURI" name="ConceptLink">
     262                    <xs:annotation>
     263                        <xs:documentation>A link to the ISOcat data category registry (or any other
     264                            concept registry) related to this controllec vocabulary
     265                        item.</xs:documentation>
     266                    </xs:annotation>
     267                </xs:attribute>
     268                <xs:attribute type="xs:string" name="AppInfo">
     269                    <xs:annotation>
     270                        <xs:documentation>End-user guidance about the value of this controlled
     271                            vocabulary item.</xs:documentation>
     272                    </xs:annotation>
     273                </xs:attribute>
    162274            </xs:extension>
    163275        </xs:simpleContent>
Note: See TracChangeset for help on using the changeset viewer.