---
# System prepended metadata

title: Remodeling DCAM and DSP

---

# Remodeling DCAM and DSP


## DSP

Example:
<pre>
<?xml version="1.0" ?>
# Tap
<DescriptionSetTemplate xmlns="http://dublincore.org/xml/dc-dsp/2008/03/31">
# TAP shape
# note that it includes cardinality, plus standalone
  <DescriptionTemplate ID="document" minOccurs="1" maxOccurs="1" standalone="yes">
  # not sure where this fits in to TAP; but seems to be a document type of the shape
    <ResourceClass>http://purl.org/dc/terms/Text</ResourceClass>
    # this is TAP statement constraint although it seems wrong to have type=nonliteral on the statementTemplate rather than constraining the property
    <StatementTemplate minOccurs="1" type="nonliteral">
    # property itself is same as TAP
      <Property>http://purl.org/dc/terms/creator</Property>
      # Is this a valueShape? And what's the difference between a statement template and a description template?
      <NonLiteralConstraint descriptionTemplateID="person">
 # ??  
 <ValueURIOccurrence>disallowed</ValueURIOccurrence> 
# ?? How could a ves occur independent of the property/statement?
<VocabularyEncodingSchemeOccurrence>disallowed</VocabularyEncodingSchemeOccurrence>
## ditto
        <ValueStringConstraint maxOccur="0"/>
      </NonLiteralConstraint>
    </StatementTemplate>
  </DescriptionTemplate>
  # this seems to be shape2
  <DescriptionTemplate ID="person" standalone="no">
  # this would be a rdf:type declaration
    <ResourceClass>http://xmlns.com/foaf/0.1/Person</ResourceClass>
    # again, statement has type where TAP would anchor datatype to property
    <StatementTemplate minOccurs="1" maxOccurs="1" type="literal">
      <Property>http://xmlns.com/foaf/0.1/name</Property>
      <LiteralConstraint>  
     # use of disallowed - saying what isn't valid, something we don't do in TAP
     <LanguageOccurrence>disallowed</LanguageOccurrence>
      </LiteralConstraint>
    </StatementTemplate>
  </DescriptionTemplate>
</DescriptionSetTemplate>
</pre>
