[x3d-public] announce: update releases for X3D Schematron and the X3DJSAIL Java library

John Carlson yottzumm at gmail.com
Mon Jul 28 09:22:23 PDT 2025


No log?

https://www.web3d.org/x3d/content/examples/build.validate.schematron.all.txt

404

Maybe in the future?

John

On Sun, Jul 27, 2025 at 1:36 PM Don Brutzman via x3d-public <
x3d-public at web3d.org> wrote:

> Further work over the past few weeks has resulted in update releases of
> two valuable open-source tools.
>
> 1.  X3D Schematron rule set has been updated online, complementing X3D
> validation to detect and diagnose X3D model problems.
>
>    - *X3D Schematron Validation and Quality Assurance (QA)*
>    - X3D Schematron helps authors by providing quality assurance to
>    ensure intended results in X3D scenes and metadata.
>    - https://www.web3d.org/x3d/tools/schematron/X3dSchematron.html
>
> Summary of capabilities:
>
>    - XML Schematron is a language for making assertions about the
>    presence or absence of patterns in linked XML documents.
>    - X3D Schematron provides an additional form of XML validation for X3D
>    scenes. Authors can use X3D Schematron reports to verify semantic
>    correctness and detect internal-consistency problems.
>    - X3D Schematron validation rules have greater expressive power than
>    DOCTYPE and Schema constraints, and are most effective when applied
>    following initial DOCTYPE and Schema validation.
>
> A comprehensive test of X3D Schematron has been applied to all models in
> the X3D Example Models Archive.  This was a big job, providing
> comprehensive diagnostics across multiple big libraries.  Lots of model
> refinements await!
>
>    - X3D Resources, Examples: Scene Archives for X3D
>    - The X3D Examples Archives demonstrate how X3D nodes and scenes work.
>    Thousands of scenes are provided in all X3D encodings. You can browse them
>    individually online or download fully complete, separately installable .zip
>    archives.
>    - X3D for Web Authors, X3D for Advanced Modeling, Basic, Conformance
>    Nist, Humanoid Animation (HAnim), VRML 2 Sourcebook
>    - https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples
>
> X3D Schematron build log:
>
>    -
>    https://www.web3d.org/x3d/content/examples/build.validate.schematron.all.txt
>    - 5MB.  5,108 minutes = 85 hours = 3 days 13 hours
>
> More information on validation testing can be found at
>
>    - X3D Resources: Quality Assurance (QA)
>    -
>    https://www.web3d.org/x3d/content/examples/X3dResources.html#QualityAssurance
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> - - - - - - - - - - - - - - - - - -
>
> 2. *X3DJSAIL, the X3D Java Scene Access Interface Library (X3DJSAIL)*
>
>    - X3D Java Scene Access Interface Library (X3DJSAIL) supports
>    programmers with standards-based X3D Java interfaces and objects, all as
>    open source.
>    - https://www.web3d.org/specifications/java/X3DJSAIL.html
>
> X3DJSAIL is designed to make it easy for Java programmers to create
> high-quality X3D models, perform conversions, launch tools.  The combined
> strictness of Java, XML, and the X3D architecture means it is actually
> quite difficult to create an invalid X3D model.
>
> Multiple improvements are included in this X3DJSAIL release, with the most
> notable addition being built-in support for X3D Schematron diagnostics.
>
> Now running latest openjdk Java 24.0.2 and building with latest NetBeans
> 26.
>
>    - Note recent changes to Java have led to much stricter handling of
>    XML documents with many character-entity definitions... X3D is a big
>    modeling language, so there are several such files.  Configuration details
>    for building X3DJSAIL and other Java tools can be found at
>
>
>    - *X3D Developers Guide* (see sections for Java
>    <https://www.web3d.org/x3d/content/examples/X3dDevelopersGuide.html#Java>
>    and NetBeans
>    <https://www.web3d.org/x3d/content/examples/X3dDevelopersGuide.html#NetBeans>
>    )
>    - The X3D Developers Guide describes system configuration and setup
>    recommendations that support various software projects supporting the
>    Extensible 3D (X3D) Graphics International Standards.
>    - https://www.web3d.org/x3d/content/examples/X3dDevelopersGuide.html
>    - This page is directly derived from the original NPS Savage
>    Developers Guide.
>
> Every model in the X3D Examples Archives includes a corresponding Java
> version that is autogenerated from the .x3d (XML) originals, compiled and
> executed to run a self test.
>
> The comprehensive log file that tests X3DJSAIL against all of the examples
> is online as follows.  It is always a good idea to check a model for
> warnings or errors prior to running it in an X3D player or another modeling
> tool.  Improvements are ongoing.
>
>    - https://www.web3d.org/x3d/content/examples/build.all.log.txt
>    - 2501 minutes = 41.7 hours, 99MB
>
> Documentation and changes:
>
>    - X3DJSAIL API Javadoc
>    - https://www.web3d.org/specifications/java/javadoc
>
>
>    - *Complete.* Add per-model capabilities for X3D Schematron Validation
>    and Quality Assurance (QA)
>    <https://www.web3d.org/x3d/tools/schematron/X3dSchematron.html> using
>    diagnostics ruleset X3dSchematronValidityChecks.sch
>    <https://www.web3d.org/x3d/tools/schematron/X3dSchematronValidityChecks.sch>
>     with X3dSchematronValidityChecks.xslt
>    <https://www.web3d.org/specifications/java/lib/stylesheets/X3dSchematronValidityChecks.xslt>
>     and SvrlReportText.xslt
>    <https://www.web3d.org/specifications/java/lib/stylesheets/SvrlReportText.xslt>
>     stylesheets.
>    - *Complete*. Added utility methods setFieldOfView(SFVec4f newValue)
>    <https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Navigation/OrthoViewpoint.html#setFieldOfView(org.web3d.x3d.jsail.fields.SFVec4f)>
>     and setFieldOfView(float minimum_x, float minimum_y, float maximum_x,
>    float maximum_y)
>    <https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Navigation/OrthoViewpoint.html#setFieldOfView(float,float,float,float)>.
>    Nevertheless, multiple counterintuitive *MFFloat* accessor methods
>    also appear... Probably need to change *fieldOfView* field to type
>    *SFVec4f*, for programmer clarity when handling the *fieldOfView* field,
>    as recommended by Mantis 1398
>    <https://mantis.web3d.org/view.php?id=1398>.
>    - *Considered but not possible.* Cannot add convenience methods for
>    variable-length arguments (varargs
>    <https://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html>)
>    since they get converted into an array of primitives by the compiler; such
>    array methods are already supported in X3DJSAIL.
>    - *Complete*. Corrected emergent errors detected during unit testing
>    by fixing implementations of .equals() method for MF types (example
>    <https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/fields/MFInt32.html#equals(org.web3d.x3d.jsail.fields.MFInt32)>).
>    Added missing .toString() method for types SFNode
>    <https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/fields/SFNode.html>
>     and MFNode
>    <https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/fields/MFNode.html>
>    .
>    - *Continuing.* Checks for optional/required MFString enumeration
>    pairs are much improved, for examples see source for fields
>    Layout.align
>    <https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Layout/Layout.html#setAlign(java.lang.String%5B%5D)>
>     (tooltip
>    <https://www.web3d.org/x3d/content/X3dTooltips.html#Layout.align>) and
>    NavigationInfo.type
>    <https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Navigation/NavigationInfo.html#setType(java.lang.String%5B%5D)>
>     (tooltip
>    <https://www.web3d.org/x3d/content/X3dTooltips.html#NavigationInfo.type>).
>    Further checking continues to ensure that all allowed values (such as
>    singletons) are included in X3D XML Schema and X3DUOM.
>    - Web3D Consortium provides issue tracking for X3DJSAIL at SourceForge
>    X3D Tickets <https://sourceforge.net/p/x3d/tickets>.
>    - It is always interesting to consider adding additional utility
>    methods, as needed. Suggestions are welcome!
>
> Thanks to Web3D Consortium for sustained support of these open-source
> libraries under version control in SourceForge.  License information:
>
>    - Web3D Consortium Open Source License
>    - https://www.web3d.org/x3d/content/examples/license.txt
>    - https://www.web3d.org/x3d/content/examples/license.html
>    - X3D Resources: License Support
>    - https://www.web3d.org/x3d/content/examples/X3dResources.html#license
>
> Have fun with X3d using Schematron and X3DJSAIL Java!  😀👍
>
> all the best, Don
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250728/8a05a7c2/attachment.html>


More information about the x3d-public mailing list