[x3d-public] X3DUOM autogeneration; X3DUOM services

John Carlson yottzumm at gmail.com
Wed Jul 10 15:03:43 PDT 2019


>I am hoping that we will have a proper README and stabilized beta of native Python x3d package getting autogenerated in time for Web3D 2019 conference.

>Wondering if we might somehow use X3DUOM autogeneration to complement some of the modules in your X3DJSONLD library to keep that synchronized with X3Dv4 specification changes.

Yeah, currently the generators create static files.  It would be nice to create a service to keep them up to date, so we don’t have to march around the file system running ant scripts and copying X3DUOM files around.

If there’s a service, then we have a well known place to find any information about X3DUOM, instead of relying on various copies currently found in various projects.

To take first steps, I think we may need to create a complete build script for X3DJSONLD.  Ideally, the build would provide a service. Do you recommend python, so we can use existing generator code, found in www.web3d.org/x3d/stylesheets/java/src/python/pyjnius, or X3DJSONLD JavaScript, what I currently have my service written in?  Or do we base it on Vince’s service?

Current X3DUOM on my file system are:

X3DJSONLD/src/specifications/X3dUnifiedObjectModel-3.3.xml
X3DJSONLD/src/specifications/X3dUnifiedObjectModel-4.0.xml
X3DJSAIL/src/specifications/X3dUnifiedObjectModel-4.0.xml
pythonSAI/X3dUnifiedObjectModel-3.3.xml
pythonSAI/X3dUnifiedObjectModel-4.0.xml

These should be copied from /c/x3d-code/www.web3d.org/specifications.  There are also various .xsd files.

Is X3DUOM finalized for v4?

Let’s try to create a task list.

1) Create base service that all serializers inherit from or delegate to.
2) Make a decision to go with file or service interface
3) Decide on file or service protocol
4) Decide on caching
5) Implement

Thanks,

John

Files which currently make use of X3DUOM:

$ find pythonSAI/ X3DJSONLD/ /c/git/X3DJSAIL/ -type f|xargs grep UnifiedObject|grep -v '\.git'

[ abbreviated listing ]
pythonSAI/classes.py:soup = BeautifulSoup(open("X3dUnifiedObjectModel-4.0.xml"), "xml")
pythonSAI/fieldtypes.py:soup = BeautifulSoup(open("X3dUnifiedObjectModel-4.0.xml"), "xml")
pythonSAI/old.py:soup = BeautifulSoup(open("X3dUnifiedObjectModel-4.0.xml"), "xml")
pythonSAI/packagemaker.py:soup = xml.etree.ElementTree.parse(open("X3dUnifiedObjectModel-4.0.xml")).getroot()
pythonSAI/parseom.py:soup = BeautifulSoup(open("X3dUnifiedObjectModel-4.0.xml"), "xml")

X3DJSONLD/src/main/node/omtojs.js:      var xml = fs.readFileSync("X3DUnifiedObjectModel-3.3.xml");
X3DJSONLD/src/main/node/omtojs.js:      console.error("X3DUnifiedObjectModel-3.3.xml", e);
X3DJSONLD/src/main/python/classes.py:soup = BeautifulSoup(open("../../specifications/X3DUnifiedObjectModel-3.3.xml"), "xml")
X3DJSONLD/src/main/python/fieldtypes.py:soup = xml.etree.ElementTree.parse(open("../../specifications/X3dUnifiedObjectModel-3.3.xml")).getroot()
X3DJSONLD/src/main/python/mapToMethod.py:soup = xml.etree.ElementTree.parse(open("../../specifications/X3dUnifiedObjectModel-4.0.xml")).getroot()
X3DJSONLD/src/main/python/nodeclasses.py:soup = BeautifulSoup(open("../../specifications/X3DUnifiedObjectModel-3.3.xml"), "xml")
X3DJSONLD/src/main/shell/generateSchema.sh:python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.0.xml | jsonlint > ../schema/x3d-3.0-JSONSchema.json
X3DJSONLD/src/main/shell/generateSchema.sh:python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.1.xml | jsonlint > ../schema/x3d-3.1-JSONSchema.json
X3DJSONLD/src/main/shell/generateSchema.sh:python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.2.xml | jsonlint > ../schema/x3d-3.2-JSONSchema.json
X3DJSONLD/src/main/shell/generateSchema.sh:python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.3.xml | jsonlint > ../schema/x3d-3.3-JSONSchema.json
X3DJSONLD/src/main/shell/generateSchema.sh:python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml | jsonlint > ../schema/x3d-4.0-JSONSchema.json
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190710/1bb31089/attachment.html>


More information about the x3d-public mailing list