Custom value constraint types

The built-in value constraint types are intended only as examples. Implementers are encouraged to define their own types. If a valueConstraintType other than the four built-in types is provided — in the following example, a hypothetical type markdowndctap will simply pass the value through to the output, where any consuming applications will be responsible for processing the type correctly.

propertyID

valueConstraint

valueConstraintType

:tutorial

click [here](https://sphinx-rtd-tutorial.readthedocs.io)

markdown

is interpreted as:

DCTAP instance
    Shape
        shapeID                  default
        Statement Template
            propertyID           :tutorial
            valueConstraint      click [here](https://sphinx-rtd-tutorial.readthedocs.io)
            valueConstraintType  markdown