Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Cannot Reproduce
-
DataMapper 1.5.1
-
None
-
All tried.
Description
We often only use constructors and do not want to create properties to set data via iBatis. This is possible, however, the schema requires at least one "result". As seen below "result" is not marked with a minOccurs="0" this creates a warning in dev environments since the xml doesn't match the schema.
OLD SqlMap.xsd
<xs:element name="resultMap">
<xs:complexType>
<xs:sequence>
<xs:element ref="constructor" minOccurs="0" maxOccurs="1"/>
<xs:element ref="result" maxOccurs="unbounded"/>
<xs:element ref="discriminator" minOccurs="0" maxOccurs="1"/>
<xs:element ref="subMap" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
<xs:attribute name="class" type="xs:string" use="required"/>
<xs:attribute name="extends" type="xs:string"/>
</xs:complexType>
</xs:element>
NEW SqlMap.xsd
<xs:element name="resultMap">
<xs:complexType>
<xs:sequence>
<xs:element ref="constructor" minOccurs="0" maxOccurs="1"/>
<xs:element ref="result" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="discriminator" minOccurs="0" maxOccurs="1"/>
<xs:element ref="subMap" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
<xs:attribute name="class" type="xs:string" use="required"/>
<xs:attribute name="extends" type="xs:string"/>
</xs:complexType>
</xs:element>