<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>I'll be performing some local tests on the stylesheets there
      appear to be many things to fix.</p>
    <p>Don, please compare the JSON output from xslt3 with the output
      from saxon9he.jar/X3DJSAIL.</p>
    Here's the command I ran to get the errors (not attached, TL):<br>
    <p>./../../node_modules/.bin/xslt3
      -xsl:/c/x3d-code/www.web3d.org/x3d/stylesheets/X3dToJson.xslt
      -s:x3dconnectorProto.x3d -o:x3dconnectorProto.json2</p>
    <p>XML and JSON files attached.</p>
    <p>Below, possibly related Schematron hints (some false positive?) 
      Please explain, since I don't understand these messages, thanks!</p>
    <p><b>7. Performing <a
          href="http://www.web3d.org/x3d/tools/schematron/X3dSchematron.html"
          target="X3dValidatorReference" title="test description or
          source">X3D Schematron</a> check...</b>
      <ProtoInstance name='x3dconnector' DEF='connector1'>
      <fieldValue name='startnode' value=''/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[1]/fieldValue[1], hint]
      <ProtoInstance name='x3dconnector' DEF='connector1'>
      <fieldValue name='endnode' value=''/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[1]/fieldValue[2], hint]
      <ProtoInstance name='x3dconnector' DEF='connector1'>
      <fieldValue name='transnode' value=''/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[1]/fieldValue[3], hint]
      <ProtoInstance name='x3dconnector' DEF='connector1'>
      <fieldValue name='rotscalenode' value=''/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[1]/fieldValue[4], hint]
      <ProtoInstance name='x3dconnector' DEF='connector1'>
      <fieldValue name='set_startpoint' value='0 0 0'/> has
      matching ProtoDeclare but no corresponding field match for this
      fieldValue [/X3D/Scene/ProtoInstance[1]/fieldValue[5], hint]
      <ProtoInstance name='x3dconnector' DEF='connector1'>
      <fieldValue name='set_endpoint' value='0 0 0'/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[1]/fieldValue[6], hint]
      <ProtoInstance name='x3dconnector' DEF='connector2'>
      <fieldValue name='startnode' value=''/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[2]/fieldValue[1], hint]
      <ProtoInstance name='x3dconnector' DEF='connector2'>
      <fieldValue name='endnode' value=''/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[2]/fieldValue[2], hint]
      <ProtoInstance name='x3dconnector' DEF='connector2'>
      <fieldValue name='transnode' value=''/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[2]/fieldValue[3], hint]
      <ProtoInstance name='x3dconnector' DEF='connector2'>
      <fieldValue name='rotscalenode' value=''/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[2]/fieldValue[4], hint]
      <ProtoInstance name='x3dconnector' DEF='connector2'>
      <fieldValue name='set_startpoint' value='0 0 0'/> has
      matching ProtoDeclare but no corresponding field match for this
      fieldValue [/X3D/Scene/ProtoInstance[2]/fieldValue[5], hint]
      <ProtoInstance name='x3dconnector' DEF='connector2'>
      <fieldValue name='set_endpoint' value='0 0 0'/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[2]/fieldValue[6], hint]
      <ProtoInstance name='x3dconnector' DEF='connector3'>
      <fieldValue name='startnode' value=''/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[3]/fieldValue[1], hint]
      <ProtoInstance name='x3dconnector' DEF='connector3'>
      <fieldValue name='endnode' value=''/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[3]/fieldValue[2], hint]
      <ProtoInstance name='x3dconnector' DEF='connector3'>
      <fieldValue name='transnode' value=''/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[3]/fieldValue[3], hint]
      <ProtoInstance name='x3dconnector' DEF='connector3'>
      <fieldValue name='rotscalenode' value=''/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[3]/fieldValue[4], hint]
      <ProtoInstance name='x3dconnector' DEF='connector3'>
      <fieldValue name='set_startpoint' value='0 0 0'/> has
      matching ProtoDeclare but no corresponding field match for this
      fieldValue [/X3D/Scene/ProtoInstance[3]/fieldValue[5], hint]
      <ProtoInstance name='x3dconnector' DEF='connector3'>
      <fieldValue name='set_endpoint' value='0 0 0'/> has matching
      ProtoDeclare but no corresponding field match for this fieldValue
      [/X3D/Scene/ProtoInstance[3]/fieldValue[6], hint]
      X3D Schematron check: <font color="green"><b>pass</b></font>.
      Good practice is to fix errors and warnings wherever possible, and
      consider silencing harmless informational messages, so that
      important indicators remain noticeable. <br>
    </p>
    <p>================</p>
    <p>Interesting, 10-folder increase in JSON output from XML using
      xslt3.  normal JSON output using saxon9he.jar is 1/4 the xslt3
      size.  Yipes!<br>
    </p>
    <p>Let's figure out what's causing the increase!  We also should
      consider the global effect on disk space due to the upcoming X3D
      JSON standard.  Perhaps we should consider using tabs or one space
      indents instead of 2-4 spaces in the code in the stylesheet?</p>
    <p>As far as I know, I am using the same stylesheet.</p>
    <p>It appears like the main problem in the xslt3 output (*json2) is
      the number of ProtoDeclares, which appears to be the 10x factor in
      number of ProtoDeclare's.  Can this be snuffed in the
      X3dToJson.xslt stylesheet?   These don't appear in the XML.
      Thanks!</p>
    <p>$ grep ProtoDeclare x3dconnectorProto*json*</p>
    <p>x3dconnectorProto.json:          { "ProtoDeclare":<br>
      x3dconnectorProto.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.json.new:          "ProtoDeclare": {<br>
      x3dconnectorProto.new.json:          { "ProtoDeclare":<br>
      x3dconnectorProto.new.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.new.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.new.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.new.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.new.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.new.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.new.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.new.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.new.json2:          { "ProtoDeclare":<br>
      x3dconnectorProto.new.json2:          { "ProtoDeclare":</p>
    <p>Let's work on reducing the number of ProtoDeclare's in the xslt3
      generated JSON files, possibly by modifying the X3dToJson.xslt.  I
      am not sure what else to do!   Thanks!</p>
    <p>It appears like we might have to special case the stylesheet for
      the stylesheet processor?<br>
    </p>
    <p>John<br>
    </p>
  </body>
</html>