<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>My code and Don's code has been sync'ed up now I think.  We get
      similar issues in verbose mode.  I guess there's no real good way
      for treating an IS like an  X3DNode?  What about creating a
      "setIS" on fieldValue with the IS as a parameter?  That was my
      first guess at what to do.   Any feedback on adding a public
      method setIS(IS) on the fieldValue class?  Then I can get rid of
      the first special case below. I am working on statement
      inheritance in X3DUOM right now, attempting to make some
      statements, potentially "IS" inheriting X3DChildNode<br>
    </p>
    <p>Here's the hard code in my JavaSerializer.js:</p>
    <p>// node is child and element is parent<b><br>
      </b></p>
    <p><b>                if (node.nodeName === "IS" &&
        element.nodeName === "fieldValue") {</b><b><br>
      </b><b>                        method = "Child";</b><b><br>
      </b><b>                        addpre = "add";</b><b><br>
      </b><b>                } else </b>if (node.nodeName === "IS") {<br>
                              method = "IS";<br>
                              addpre = "set";<br>
                      }</p>
    <p>Note that the X3DUOM versions are differently handling
      Statements:</p>
    <p>$ grep name=.IS X3dUnifiedObjectModel*xml|grep -v field<br>
      X3dUnifiedObjectModel-3.0.xml:      <ConcreteNode name="IS"><br>
      X3dUnifiedObjectModel-3.1.xml:      <ConcreteNode name="IS"><br>
      X3dUnifiedObjectModel-3.2.xml:      <ConcreteNode name="IS"><br>
      X3dUnifiedObjectModel-3.3.xml:      <ConcreteNode name="IS"><br>
      X3dUnifiedObjectModel-4.0.xml:      <Statement name="IS"></p>
    <p>$ grep Statements X3dUnifiedObjectModel*xml<br>
      X3dUnifiedObjectModel-3.0.xml:   <Statements/><br>
      X3dUnifiedObjectModel-3.1.xml:   <Statements/><br>
      X3dUnifiedObjectModel-3.2.xml:   <Statements/><br>
      X3dUnifiedObjectModel-3.3.xml:   <Statements/><br>
      X3dUnifiedObjectModel-4.0.xml:   <Statements><br>
      X3dUnifiedObjectModel-4.0.xml:   </Statements></p>
    <p>Note that I've added a verbose flag to the below, plus I've been
      modifying the X3DJSAIL jar more recently and X3DUOM in attempt to
      get code that passes muster.   I am doing this in my own
      environment, and have not modified XML Schema that I know of.  So
      this code is kind of old at this point:<br>
    </p>
    <p>My code:</p>
    <p>javac -cp .:/home/coderextreme/pythonSAI/X3DJSAIL.4.0.full.jar
      -Xdiags:verbose net/coderextreme/data/rubik2x2x2.java<br>
      net/coderextreme/data/rubik2x2x2.java:112: error: method addChild
      in class fieldValue cannot be applied to given types;<br>
                        .addChild(new IS()<br>
                        ^<br>
        required: X3DNode<br>
        found:    IS<br>
        reason: argument mismatch; IS cannot be converted to X3DNode<br>
      net/coderextreme/data/rubik2x2x2.java:118: error: method addChild
      in class fieldValue cannot be applied to given types;<br>
                        .addChild(new IS()<br>
                        ^<br>
        required: X3DNode<br>
        found:    IS<br>
        reason: argument mismatch; IS cannot be converted to X3DNode<br>
      net/coderextreme/data/rubik2x2x2.java:124: error: method addChild
      in class fieldValue cannot be applied to given types;<br>
                        .addChild(new IS()<br>
                        ^<br>
        required: X3DNode<br>
        found:    IS<br>
        reason: argument mismatch; IS cannot be converted to X3DNode<br>
      net/coderextreme/data/rubik2x2x2.java:130: error: method addChild
      in class fieldValue cannot be applied to given types;<br>
                        .addChild(new IS()<br>
                        ^<br>
        required: X3DNode<br>
        found:    IS<br>
        reason: argument mismatch; IS cannot be converted to X3DNode<br>
      4 errors</p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p>Don's code:<br>
    </p>
    <p><br>
    </p>
    <p>coderextreme@coderextreme-Kubuntu20:~/X3DJSONLD/src/main/java$
      javac -cp .:/home/coderextreme/pythonSAI/X3DJSAIL.4.0.full.jar
      -Xdiags:verbose
net/x3djsonld/data/rubik2x2x2.javanet/x3djsonld/data/rubik2x2x2.java:103:
      error: method addChild in class fieldValue cannot be applied to
      given types;<br>
                    .addChild(new IS()<br>
                    ^<br>
        required: X3DNode<br>
        found:    IS<br>
        reason: argument mismatch; IS cannot be converted to X3DNode<br>
      net/x3djsonld/data/rubik2x2x2.java:108: error: method addChild in
      class fieldValue cannot be applied to given types;<br>
                    .addChild(new IS()<br>
                    ^<br>
        required: X3DNode<br>
        found:    IS<br>
        reason: argument mismatch; IS cannot be converted to X3DNode<br>
      net/x3djsonld/data/rubik2x2x2.java:122: error: method addChild in
      class fieldValue cannot be applied to given types;<br>
                    .addChild(new IS()<br>
                    ^<br>
        required: X3DNode<br>
        found:    IS<br>
        reason: argument mismatch; IS cannot be converted to X3DNode<br>
      net/x3djsonld/data/rubik2x2x2.java:127: error: method addChild in
      class fieldValue cannot be applied to given types;<br>
                    .addChild(new IS()<br>
                    ^<br>
        required: X3DNode<br>
        found:    IS<br>
        reason: argument mismatch; IS cannot be converted to X3DNode<br>
      4 errors<br>
    </p>
  </body>
</html>