I belive XSD's complexType along with extension provide "isa" at the
schema level. I certainly use them that way. Example: author_type "is a" person_type" <xsd:complexType name = "person_type"> <xsd:sequence> <xsd:element ref = "name"/> <xsd:element name = "degree" type = "xsd:string" minOccurs = "0"/> <xsd:element name = "title_affil"> <xsd:complexType> <xsd:sequence> <xsd:element ref = "para" minOccurs = "0" maxOccurs = "unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name = "author_type"> <xsd:complexContent> <xsd:extension base = "person_type"> <xsd:sequence> <xsd:element name = "disclosures" type = "xsd:string"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> You can also declare pure abstract types like eg. monograph "is a" abstract element of type monograph_type <xsd:element name = "monograph" type = "monograph_type" abstract = "true"/> ------------------------- David A. Lee dlee@calldei.com http://www.calldei.com http://www.xmlsh.org On 5/3/2010 2:25 PM, stephengreenubl@gmail.com wrote: 4bdf1551.0c07560a.7185.44aa@mx.google.com" type="cite">There seems to be no shortage of ways, thankfully, to express 'has-a' relationships with XML (even without using a schema, it seems there is an implicit 'has' relationship between parent element and a child element or atttibute). There could be said to be an implicit semantic 'has' relationship declared between 'document' an 'date' when we write <document><date>...</date>...</document>. Is there any way to express the other key relationship of 'is-a' in XML? Is this something a schema language can express? Can we say that element (or even type) A 'is-an' element (or type) B? Any plans to add this 'feature' to the XML technologies if it isn't one already? It might be a key gap to fill. I might want to somehow imply that my <invoice/> is a <document/>. Are substitution groups (with, apparently, some inadequacies) the only way to express such a relationship in XML? Best regards Stephen D Green _______________________________________________________________________ XML-DEV is a publicly archived, unmoderated list hosted by OASIS to support XML implementation and development. To minimize spam in the archives, you must subscribe before posting. [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/ Or unsubscribe: xml-dev-unsubscribe@lists.xml.org subscribe: xml-dev-subscribe@lists.xml.org List archive: http://lists.xml.org/archives/xml-dev/ List Guidelines: http://www.oasis-open.org/maillists/guidelines.php |