<xs:element name="ProtoDeclare">
<xs:annotation>
<xs:appinfo>
<xs:element name="ProtoInterface" type="SFNode" default="ProtoInterface"/>
<xs:element name="ProtoBody" type="SFNode" default="ProtoBody"/>
<xs:attribute name="additionalInterface" type="xs:string" default="X3DChildNode"/>
<xs:attribute name="componentName" type="xs:NMTOKEN" fixed="Core"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="2"/>ProtoDeclare defines new Prototype nodes. Nested ProtoDeclares and ProtoInstances are allowed by the specification.</xs:appinfo>
<xs:documentation source="http://www.web3d.org/documents/specifications/19776-1/V3.3/Part01/concepts.html#PrototypeAndFieldDeclarationSyntax"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="SceneGraphStructureStatement">
<xs:sequence>
<xs:element ref="ProtoInterface" minOccurs="0"/>
<xs:element ref="ProtoBody"/>
</xs:sequence>
<xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
<xs:attribute name="appinfo" type="SFString"/>
<xs:attribute name="documentation" type="SFString"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element> |