[Introspector-developers] Introspector GCC Schema Draft
Status: Beta
Brought to you by:
mdupont
|
From: James M. D. <mdu...@ya...> - 2002-10-18 16:52:38
|
Dear All, here is the beginning of an XML shema for the introspector GCC interface. mike ......................................................... <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="xmlroot"> <xs:complexType> <xs:sequence> <xs:element name="node" type="nodeType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="nodeType" mixed="true"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="args" type="argsType"/> <xs:element name="argt" type="argtType"/> <xs:element name="base" type="baseType"/> <xs:element name="binf" type="binfType"/> <xs:element name="bpos" type="bposType"/> <xs:element name="chan" type="chanType"/> <xs:element name="clas" type="clasType"/> <xs:element name="domn" type="domnType"/> <xs:element name="element" type="elementType"/> <xs:element name="elts" type="eltsType"/> <xs:element name="flds" type="fldsType"/> <xs:element name="fncs" type="fncsType"/> <xs:element name="init" type="initType"/> <xs:element name="max" type="maxType"/> <xs:element name="min" type="minType"/> <xs:element name="mngl" type="mnglType"/> <xs:element name="name" type="nameType"/> <xs:element name="prms" type="prmsType"/> <xs:element name="ptd" type="ptdType"/> <xs:element name="purp" type="purpType"/> <xs:element name="retn" type="retnType"/> <xs:element name="scpe" type="scpeType"/> <xs:element name="size" type="sizeType"/> <xs:element name="srcp" type="srcpType"/> <xs:element name="type" type="typeType"/> <xs:element name="valu" type="valuType"/> <xs:element ref="algn"/> <xs:element ref="binlen"/> <xs:element ref="high"/> <xs:element ref="lngt"/> <xs:element ref="low"/> <xs:element ref="prec"/> <xs:element ref="srcl"/> <xs:element ref="str"/> <xs:element ref="strg"/> <xs:element ref="used"/> </xs:choice> <xs:attribute name="idx" type="xs:short" use="required"/> <xs:attribute name="node_name" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="initType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="argsType"> <xs:annotation >This should be a collection </xs:annotation> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="elementType"> <xs:annotation>This is the element of vector </xs:annotation> <xs:attribute name="item" type="xs:byte" use="required"/> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:element name="algn" type="xs:byte"/> <xs:element name="binlen" type="xs:byte"/> <xs:element name="built-in"> <xs:complexType/> </xs:element> <xs:element name="lngt" type="xs:byte"/> <xs:element name="low" type="xs:int"/> <xs:element name="srcl" type="xs:int"/> <xs:element name="str"> <xs:annotation> This is the description of the class </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="artificial"/> <xs:enumeration value="extern"/> <xs:enumeration value="static"/> <xs:enumeration value="struct"/> <xs:enumeration value="undefined"/> <xs:enumeration value="union"/> <xs:enumeration value="unsigned"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="strg" type="xs:string"/> <xs:element name="prec"> <xs:annotation> This is the bytelength of the object </xs:annotation> <xs:simpleType> <xs:restriction base="xs:byte"> <xs:enumeration value="16"/> <xs:enumeration value="32"/> <xs:enumeration value="36"/> <xs:enumeration value="64"/> <xs:enumeration value="8"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:complexType name="argtType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="baseType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="binfType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="bposType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="chanType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="clasType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="domnType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="eltsType"> <xs:attribute name="idx" use="required" type="xs:short"> </xs:attribute> </xs:complexType> <xs:complexType name="fldsType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="fncsType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:element name="high" type="xs:int"/> <xs:complexType name="maxType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="minType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="mnglType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="nameType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="prmsType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="ptdType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="purpType"> <xs:attribute name="idx" use="required"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="14"/> <xs:enumeration value="38"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:complexType name="retnType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="scpeType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="sizeType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:complexType name="srcpType" mixed="true"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="built-in"/> </xs:choice> </xs:complexType> <xs:complexType name="typeType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> <xs:element name="used"> <xs:simpleType> <xs:restriction base="xs:boolean"> <xs:enumeration value="0"/> <xs:enumeration value="1"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:complexType name="valuType"> <xs:attribute name="idx" type="xs:short" use="required"/> </xs:complexType> </xs:schema> ===== James Michael DuPont http://introspector.sourceforge.net/ __________________________________________________ Do you Yahoo!? Faith Hill - Exclusive Performances, Videos & More http://faith.yahoo.com |