element ComposedShader
diagram x3d-3.3_diagrams/x3d-3.3_p37.png
properties
content complex
children field IS MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString ShaderPart ProtoInstance
used by
group AppearanceChildContentModelNoProtoInstance
attributes
Name  Type  Use  Default  Fixed  Annotation
DEF  xs:ID        
appinfo

DEF defines a unique ID name for each node, referenceable by other nodes.
USE  xs:IDREF        
appinfo

USE means reuse an already DEF-ed node ID, excluding all child nodes and all other attributes (except for containerField, which can have a different value).
class  xs:NMTOKENS        
appinfo

The class attribute is a space-separated list of classes, reserved for use by Cascading Style Sheets (CSS) and XML stylesheets.
language  SFString        
containerField  xs:NMTOKEN    shaders    
documentation
parent Appearance node
annotation
appinfo
<xs:element name="IS" type="SFNode" fixed="inputOutputField" default="IS"/>
<xs:element name="field" type="MFNode" default="field"/>
<xs:element name="metadata" type="SFNode" fixed="inputOutputField" default="X3DMetadataObject"/>
<xs:element name="parts" type="MFNode" fixed="inputOutputField" default="ShaderPart"/>
<xs:attribute name="additionalInterface" type="xs:string" default="X3DShaderNode"/>
<xs:attribute name="additionalInterface" type="xs:string" default="X3DProgrammableShaderObject"/>
<!-- language, activate, isSelected, isValid inherited from X3DShaderNode -->
<xs:attribute name="activate" type="SFBool" fixed="inputOnlyField"/>
<xs:attribute name="isSelected" type="SFBool" fixed="outputOnlyField"/>
<xs:attribute name="isValid" type="SFBool" fixed="outputOnlyField"/>
<xs:attribute name="language" type="shaderLanguageValues"/>
<xs:attribute name="componentName" type="componentNameChoices" fixed="Shaders"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="1"/>
ComposedShader can contain field declarations, but no CDATA section of plain-text source code, since programs are composed from child ShaderPart nodes.
source <xs:element name="ComposedShader">
 
<xs:annotation>
   
<xs:appinfo>
     
<xs:element name="IS" type="SFNode" fixed="inputOutputField" default="IS"/>
     
<xs:element name="field" type="MFNode" default="field"/>
     
<xs:element name="metadata" type="SFNode" fixed="inputOutputField" default="X3DMetadataObject"/>
     
<xs:element name="parts" type="MFNode" fixed="inputOutputField" default="ShaderPart"/>
     
<xs:attribute name="additionalInterface" type="xs:string" default="X3DShaderNode"/>
     
<xs:attribute name="additionalInterface" type="xs:string" default="X3DProgrammableShaderObject"/>
     
<!-- language, activate, isSelected, isValid inherited from X3DShaderNode -->
     
<xs:attribute name="activate" type="SFBool" fixed="inputOnlyField"/>
     
<xs:attribute name="isSelected" type="SFBool" fixed="outputOnlyField"/>
     
<xs:attribute name="isValid" type="SFBool" fixed="outputOnlyField"/>
     
<xs:attribute name="language" type="shaderLanguageValues"/>
     
<xs:attribute name="componentName" type="componentNameChoices" fixed="Shaders"/>
     
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="1"/>
ComposedShader can contain field declarations, but no CDATA section of plain-text source code, since programs are composed from child ShaderPart nodes.
</xs:appinfo>
   
<xs:documentation source="https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/shaders.html#ComposedShader"/>
 
</xs:annotation>
 
<xs:complexType>
   
<xs:sequence minOccurs="0">
     
<xs:annotation>
       
<xs:documentation>implements X3DShaderNode, X3DProgrammableShaderObject (and contains no CDATA source)</xs:documentation>
     
</xs:annotation>
     
<xs:element ref="field" minOccurs="0" maxOccurs="unbounded"/>
     
<xs:element ref="IS" minOccurs="0"/>
     
<xs:group ref="ChildContentModelCore" minOccurs="0">
       
<xs:annotation>
         
<xs:documentation>metadata</xs:documentation>
       
</xs:annotation>
     
</xs:group>
     
<xs:choice minOccurs="0" maxOccurs="unbounded">
       
<xs:annotation>
         
<xs:documentation>parts</xs:documentation>
       
</xs:annotation>
       
<xs:element ref="ShaderPart"/>
       
<xs:element ref="ProtoInstance">
         
<xs:annotation>
           
<xs:documentation>Appropriately typed substitution node</xs:documentation>
         
</xs:annotation>
       
</xs:element>
     
</xs:choice>
   
</xs:sequence>
   
<xs:attributeGroup ref="DEF_USE"/>
   
<xs:attributeGroup ref="globalAttributes"/>
   
<xs:attribute name="language" type="SFString"/>
   
<xs:attribute name="containerField" type="xs:NMTOKEN" default="shaders">
     
<xs:annotation>
       
<xs:documentation>parent Appearance node</xs:documentation>
     
</xs:annotation>
   
</xs:attribute>
   
<!-- Specially constructed case of <xs:extension base="X3DShaderNode"> -->
   
<!-- ComposedShader does not directly derive from X3DNode because of the need to have field children come first, before IS and ChildContentModelCore. -->
 
</xs:complexType>
</xs:element>

attribute ComposedShader/@language
type SFString
source <xs:attribute name="language" type="SFString"/>

attribute ComposedShader/@containerField
type xs:NMTOKEN
properties
default shaders
annotation
documentation
parent Appearance node
source <xs:attribute name="containerField" type="xs:NMTOKEN" default="shaders">
 
<xs:annotation>
   
<xs:documentation>parent Appearance node</xs:documentation>
 
</xs:annotation>
</xs:attribute>


XML Schema documentation generated by XMLSpy Schema Editor http://www.altova.com/xmlspy