PREFIX ex: PREFIX xsd: ex:TestObject EXTRA a { a ["TestObject"] ; ex:stringValue xsd:string ; ex:numValue xsd:integer ; ex:boolValue xsd:boolean ; ex:arrayValue xsd:integer* ; ex:objectValue { ex:nestedString xsd:string ; ex:nestedNum xsd:integer ; ex:nestedArray xsd:integer* ; } ; ex:anotherObject { ex:prop1 xsd:string; ex:prop2 xsd:integer ; } * ; ex:numOrStr xsd:string; # TODO: ShapeOr -- | ex:numOrStr xsd:integer }