Caching problem suspected
Added by Anonymous over 15 years ago
Legacy ID: #6609868 Legacy Poster: Jeroen Kransen (jkransen)
It seems I am running into a caching problem now. When I run a transformation immediately after Tomcat startup, the behaviour is different from when I first run another type of transformation. The two document types that I am trying to transform, have similar but different files imported/included under the hood. Is there a possibility that cache matches are made not on the whole URL, but only on part of it? “CVDR” document transformed immediately after startup: Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdr.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-schemes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-schemes.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-classes.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/xml-att.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/xml-att.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-classes.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/owms-classes-redef.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/dcterms-elem.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-schemes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-schemes.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-classes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-classes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/dcterms-elem.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/owms-classes-redef.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/overheid-classes-redef.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-elem.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-schemes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-schemes.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-classes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-classes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-elem.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/overheid-classes-redef.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/cvdripm-elem.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/cvdripm-elem.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/lijsten_attr.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/lijsten_attr.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/wetgevingalgemeen.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/artikel.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/artikel.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/kop.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/kop.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/plaatje.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/plaatje.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/structuur.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/structuur.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/table.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/table.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/wetgeving.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/wetgeving.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/wetgevingalgemeen.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdr.xsd FATAL: In content of element <redactioneleToevoeging>: The content model does not allow element <al> to appear here. Expected one of: {http://standaarden.overheid.nl/cvdr/terms/}lijst, {http://standaarden.overheid.nl/cvdr/terms/}al If I first transform a “VAC” document, then a CVDR document, the output is like this: (first “VAC” transformation) Loading schema document http://standaarden.overheid.nl/vac/1.0/xsd/vac.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-schemes.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-schemes.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-classes.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/xml-att.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/xml-att.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-classes.xsd Loading schema document http://standaarden.overheid.nl/vac/1.0/xsd/vac-owms-classes-redef.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/dcterms-elem.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-schemes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-schemes.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-classes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-classes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/dcterms-elem.xsd Finished loading schema document http://standaarden.overheid.nl/vac/1.0/xsd/vac-owms-classes-redef.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-classes-redef.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-elem.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-schemes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-schemes.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-classes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-classes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-elem.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-classes-redef.xsd Finished loading schema document http://standaarden.overheid.nl/vac/1.0/xsd/vac.xsd …. (second “CVDR” transformation) Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdr.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-schemes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/overheid-schemes.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-classes.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-classes.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/cvdripm-elem.xsd Loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Finished loading schema document http://standaarden.overheid.nl/owms/3.5/xsd/owms-types.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/cvdripm-elem.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/lijsten_attr.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/lijsten_attr.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/wetgevingalgemeen.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/artikel.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/artikel.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/kop.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/kop.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/plaatje.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/plaatje.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/structuur.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/structuur.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/table.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/table.xsd Loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/wetgeving.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/wetgeving.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/wetgevingalgemeen.xsd Finished loading schema document http://standaarden.overheid.nl/cvdr/xsd/cvdr.xsd FATAL: The content "regeling" of element <type> does not match the required simple type. Value "regeling" contravenes the pattern facet "vragen" of the type defined at line 23 of http://standaarden.overheid.nl/vac/1.0/xsd/vac-owms-classes-redef.xsd
Replies (3)
Please register to reply
RE: Caching problem suspected - Added by Anonymous over 15 years ago
Legacy ID: #6610672 Legacy Poster: Michael Kay (mhkay)
I notice that at least one of your schema documents uses xs:redefine http://standaarden.overheid.nl/cvdr/xsd/cvdrcomponents/owms-classes-redef.xsd and in that situation I think it's entirely possible that the final contents of your schema (that is, the set of schema components in the cache) depend on the order in which things were loaded. Working out what has happened in detail here will be difficult because of the size and complexity of the schema, but I think the basic message is that redefine is error-prone. Saxon does try to ensure that you can't redefine something once it has been used in a validation episode; but since the decision whether to load schema documents from xs:import depends on whether the namespace URI already exists in the cache, not on whether the actual schema document has been processed, it's entirely possible to end up with a different set of documents. I'm not sure what to recommend in terms of the way forward. One diagnostic technique that may be useful is to unload the contents of the schema cache using Configuration.exportComponents(), and write some kind of analysis to compare the cache contents when loaded in two different ways. If you have to use redefine, it may be necessary to prime the cache by loading schema documents in a defined order before doing any validation.
RE: Caching problem suspected - Added by Anonymous over 15 years ago
Legacy ID: #6610789 Legacy Poster: Jeroen Kransen (jkransen)
Michael, if I instantiate different TransformerFactories for each document type, would that keep the caches apart, and avoid these problems?
RE: Caching problem suspected - Added by Anonymous over 15 years ago
Legacy ID: #6611013 Legacy Poster: Michael Kay (mhkay)
Yes, that might avoid the problem, but of course it only works if the workloads are completely disjoint - you can't then share any source documents or compiled stylesheets between them.
Please register to reply