ProtoDeclare

Element Information

Model

Attributes

QName Type Fixed Default Use Inheritable Annotation
appinfo SFString optional
documentation SFString optional
name xs:NMTOKEN required

Used By

Source

<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>

Sample