The first date/event template that matches as follows: xsl:template match="vc:dateSet" has an xsl:if test that will always evaluate to true: xsl:if test="not(vc:dateSet/vc:dates). There is no such element vc:dateSet/vc:dates. Consequently, as this template requires, a vra:dateCreated property is always output, even if there is no vc:display value. Additionally, is it the intention of the transform to output the vc:dateSet/vc:display values as values of vra:dateCreated? I ask because vc:dateSet/vc:display values are not always creation dates.
The first date/event template that matches as follows: xsl:template match="vc:dateSet" has an xsl:if test that will always evaluate to true: xsl:if test="not(vc:dateSet/vc:dates). There is no such element vc:dateSet/vc:dates. Consequently, as this template requires, a vra:dateCreated property is always output, even if there is no vc:display value. Additionally, is it the intention of the transform to output the vc:dateSet/vc:display values as values of vra:dateCreated? I ask because vc:dateSet/vc:display values are not always creation dates.