[x3d-public] Please fix X3dToJson.xslt to work with Saxon-CE, Saxon-Js and xslt3

Don Brutzman brutzman at nps.edu
Mon Apr 12 06:55:27 PDT 2021


John, the -dtd:on setting is used with Saxon so that all default values are included from the DTD even if no value is provided in the .x3d model.  This is intentional and necessary for the stylesheet to work.

Don't change it or approximately everything will fail.  No problem here to fix.

The command line documentation link is excellent and shows the power available during saxon invocation.


On 4/11/2021 11:50 PM, John Carlson wrote:
> 
> While some documentation indicates -dtd:on ??? may solve the problem,
> look at this from Saxonica:
> 
> https://www.saxonica.com/saxon-js/documentation/index.html#!nodejs/command-line
> 
> Thanks,
> 
> John
> On 4/12/21 1:29 AM, John Carlson wrote:
>> Here's the code that gets execute in the X3dToJson.xslt stylesheet.
>> Is there some way to fix it with a flag?
>>
>> <xsl:otherwise>
>>
>>                             <!-- Note that this error condition occurs
>> if DTD default attribute values are suppressed before invocation -->
>> <xsl:text>IllegalChildNodeFieldNameNotFound</xsl:text>
>>                             <xsl:message>
>>                                 <xsl:text>Error:
>> IllegalChildNodeFieldNameNotFound no containerField or field name
>> found for the X3D JSON object. Check spelling of node.</xsl:text>
>> <xsl:text>
</xsl:text>
>>                                 <xsl:text> $elementName=</xsl:text>
>>                                 <xsl:value-of select="$elementName"/>
>>                                 <xsl:if test="(string-length(@DEF) > 0)">
>>                                         <xsl:text>, DEF=</xsl:text>
>>                                         <xsl:value-of select="@DEF"/>
>>                                 </xsl:if>
>>                                 <xsl:if test="(string-length(@USE) > 0)">
>>                                         <xsl:text>, USE=</xsl:text>
>>                                         <xsl:value-of select="@USE"/>
>>                                 </xsl:if>
>>                                 <xsl:text>, $parentName=</xsl:text>
>>                                 <xsl:value-of select="$parentName"/>
>> <xsl:text>
</xsl:text>
>>                                 <xsl:choose>
>>                                         <xsl:when
>> test="not($isTestScene)">
>>                                                 <xsl:text> Please
>> report this error to x3d-public at web3d.org - thanks for your help
>> improving X3D Quality Assurance (QA).</xsl:text>
>>                                         </xsl:when>
>>                                         <xsl:when
>> test="(string-length(//meta[(@name='title')]/@content) > 0)">
>>                                                 <xsl:text> </xsl:text>
>>                                                 <xsl:value-of
>> select="//meta[(@name='title')]/@content"/>
>>                                                 <xsl:text> is a test
>> scene supporting X3D Quality Assurance (QA).</xsl:text>
>>                                         </xsl:when>
>>                                 </xsl:choose>
>>                             </xsl:message>
>>                         </xsl:otherwise>

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman



More information about the x3d-public mailing list