← Prev in month
← Prev in thread
key constraint question
I am trying to define a serialized Database to XML, via a XML Schema. Problem Table A has two relations two Table B. One is required the other is optional. How do I define that the TableB with relationship="needed" is mandatory. I can define a unique constraint under TableA that indicates that TableB/primaryKey be unique. This would prohibit someone defining Two TableB's with the same relationship, i.e. two needed or two optional. But I do not know how to ensure there is a TableB with the relationship of "needed". Instance Document: <TableA xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="TestSchema.xsd"> <primaryKey>xx</primaryKey> <TableB relationship="needed"> <primaryKey>yy</primaryKey> </TableB> <TableB relationship="optional"> <primaryKey>yy</primaryKey> </TableB> </TableA> Schema Document <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="TableA"> <xs:complexType> <xs:sequence> <xs:element name="primaryKey"/> <xs:element name="TableB" type="TableB_Type" maxOccurs="2"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="TableB_Type"> <xs:sequence> <xs:element name="primaryKey" type="xs:string"/> </xs:sequence> <xs:attribute name="relationship"> <xs:simpleType> <xs:restriction base="xs:token"> <xs:pattern value="needed|optional"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:schema> Bill Riegel LandMark Graphics 713-839-3388
← Prev in month
← Prev in thread