DEV Community

M. Alexandre J-S William ELISÉ
M. Alexandre J-S William ELISÉ

Posted on

Answer: How to make type depend on attribute value using Conditional Type Assignment

You can do this using XSD 1.1's Conditional Type Assignment:

<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" elementFormDefault="qualified" vc:minVersion="1.1"> <xs:element name="listOfA"> <xs:complexType> <xs:sequence> <xs:element name="a" maxOccurs="unbounded"> <xs:alternative test="@type = 1" type="a1Type"/> <xs:alternative test="@type = 2" type="a2Type"/> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="a1Type"> <xs:sequence> <xs:element name="name"/> <xs:element name="surname"/> </xs:sequence> </xs:complexType> <xs:complexType

Top comments (0)