A.4

Replace rule fieldType with the following text:

"fieldType ::=
MFBool |
MFColor |
MFColorRGBA |
MFDouble |
MFFloat |
MFImage |
MFInt32 |
MFMatrix3d |
MFMatrix3f |
MFMatrix4d |
MFMatrix4f |
MFNode |
MFRotation |
MFString |
MFTime |
MFVec2d |
MFVec2f |
MFVec3d |
MFVec3f |
MFVec4d |
MFVec4f |
SFBool |
SFColor |
SFColorRGBA |
SFDouble |
SFFloat |
SFImage |
SFInt32 |
SFMatrix3d |
SFMatrix3f |
SFMatrix4d |
SFMatrix4f |
SFNode |
SFRotation |
SFString |
SFTime |
SFVec2d |
SFVec2f |
SFVec3d |
SFVec3f |
SFVec4d |
SFVec4f ;"

Replace rule fieldValue with the following text:

"fieldValue ::=
sfboolValue |
sfcolorValue |
sfcolorRGBAValue |
sfdoubleValue |
sffloatValue |
sfimageValue |
sfint32Value |
sfmatrix3dValue |
sfmatrix3fValue |
sfmatrix4dValue |
sfmatrix4fValue |
sfnodeValue |
sfrotationValue |
sfstringValue |
sftimeValue |
sfvec2dValue |
sfvec2fValue |
sfvec3dValue |
sfvec3fValue |
sfvec4dValue |
sfvec4fValue |
mfboolValue |
mfcolorValue |
mfcolorRGBAValue |
mfdoubleValue |
mffloatValue |
mfimageValue |
mfint32Value |
mfnodeValue |
mfrotationValue |
mfstringValue |
mftimeValue |
mfvec2dValue |
mfvec2fValue |
mfvec3dValue |
mfvec3fValue |
mfvec4dValue |
mfvec4fValue ;"

Insert the following new rules after the rule for int32:

sfmatrix3dValue ::=
double double double double double double double double double ;
sfmatrix3fValue ::=
float float float float float float float float float ;
sfmatrix4dValue ::=
double double double double double double double double double double double double double double double double ;
sfmatrix4fValue ::=
float float float float float float float float float float float float float float float float ;

Insert the following new rules after the rule for sfvec3fValue:

sfvec4dValue ::=
double double double double ;
sfvec4fValue ::=
float float float float ;

Insert the following new rules after the rule for nodeStatements:

sfmatrix3dValues ::=
sfmatrix3dvalue |
[] |
[ sfmatrix3dvalues ] ;
sfmatrix3fValues ::=
sfmatrix3fvalue |
[] |
[ sfmatrix3fvalues ] ;
sfmatrix4dValues ::=
sfmatrix4dvalue |
[] |
[ sfmatrix4dvalues ] ;
sfmatrix4fValues ::=
sfmatrix4fvalue |
[] |
[ sfmatrix4fvalues ] ;

Insert the following new rules after the rule for sfvec3fValues:

sfvec4dValues ::=
sfvec4dvalue |
[] |
[ sfvec4dvalues ] ;
sfvec4fValues ::=
sfvec4fvalue |
[] |
[ sfvec4fvalues ] ;