source |
<xs:element name="ProtoBody">
<xs:annotation>
<xs:appinfo>
<!-- ProtoBody can contain children nodes of any type, not just X3DChildNode -->
<xs:element name="children" type="MFNode" default="X3DNode"/>
<xs:attribute name="componentName" type="componentNameChoices" fixed="Core"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="2"/>
ProtoBody contains the definition nodes for new Prototype nodes.
</xs:appinfo>
<xs:documentation source="https://www.web3d.org/documents/specifications/19776-1/V3.3/Part01/concepts.html#PrototypeAndFieldDeclarationSyntax"/>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="SceneGraphStructureStatement">
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:group ref="SceneGraphFragmentWithPrototypeDeclarationsContentModel" maxOccurs="unbounded"/>
<!-- nested ProtoDeclares, ProtoInstances are allowed by specification. -->
<xs:element ref="LayerSet" minOccurs="0">
<xs:annotation>
<xs:documentation>At most one LayerSet can appear in a scene and must be a root node.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element> |