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

John Carlson yottzumm at gmail.com
Mon Jul 28 10:02:45 PDT 2025


Can you send me the ant target name which builds the schematron log?

Another potentially helpful thing is to turn ant into verbose mode, so one
can see the commands being issued, in order to copy/paste to retry a single
validation.

Thanks,

John

On Mon, Jul 28, 2025 at 11:55 AM Don Brutzman <don.brutzman at gmail.com>
wrote:

> Apologies for prior misstep uploading the massive schematron log.  Now
> tested available at
>
>    -
>    https://www.web3d.org/x3d/content/examples/build.validate.schematron.all.txt
>
> Current and future versions also available via version control:
>
>    -
>    https://sourceforge.net/p/x3d/code/37293/log/?path=/www.web3d.org/x3d/content/examples/build.validate.schematron.all.txt
>
> v/r Don
>
> On Mon, Jul 28, 2025 at 9:22 AM John Carlson <yottzumm at gmail.com> wrote:
>
>> 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/3db5f1ef/attachment-0001.html>


More information about the x3d-public mailing list