Possible bug in schema documentation generator
Posted: Sat Jul 29, 2006 6:00 pm
I have a complex schema for which I'm trying to generate documentation. I'm confident that the schema is correct as we've been using it reliably to generate both C# and Java code and perform schema validation in our application.
The .xsd files are organized by version-dependent directories, i.e., module1/2006-01/module1-types.xsd, module2/2006-04/module2-types.xsd. A module may have one or more imports for common types referenced by all modules.
Using the information above as an example: when I generate documentation for module2, I get an error indicating that it is looking for an import under the 2006-04 subdirectory instead of the 2006-01 subdirectory. Iow, the problem .xsd imports from another XSD using a relative path ../module1/2006-01/module1-types.xsd, but Saxon is looking for ../module1/2006-04/module1-types.xsd.
The exact error is:
The following errors were encountered when generating schema documentation:
- Transformer Exception: net.sf.saxon.trans.DynamicError: java.io.FileNotFoundException: C:\home\bbell\k2_stable\lqmi\ues\wsapi\ues\policy-mgmt\2006-04\AuditingProfile.xsd (The system cannot find the file specified)
ues/policy-mgmt/2006-04/PolicyManagementServiceTypes.xsd imports ../../upm/2006-01/UnifiedPolicyModel.xsd which imports ./PolicyDomain.xsd which imports ./AuditingProfile.xsd.
It's my understanding that relative paths are relative to the importing schema -- in this case, it should be looking for AuditingProfile.xsd in the same directory as PolicyDomain.xsd.
The .xsd files are organized by version-dependent directories, i.e., module1/2006-01/module1-types.xsd, module2/2006-04/module2-types.xsd. A module may have one or more imports for common types referenced by all modules.
Using the information above as an example: when I generate documentation for module2, I get an error indicating that it is looking for an import under the 2006-04 subdirectory instead of the 2006-01 subdirectory. Iow, the problem .xsd imports from another XSD using a relative path ../module1/2006-01/module1-types.xsd, but Saxon is looking for ../module1/2006-04/module1-types.xsd.
The exact error is:
The following errors were encountered when generating schema documentation:
- Transformer Exception: net.sf.saxon.trans.DynamicError: java.io.FileNotFoundException: C:\home\bbell\k2_stable\lqmi\ues\wsapi\ues\policy-mgmt\2006-04\AuditingProfile.xsd (The system cannot find the file specified)
ues/policy-mgmt/2006-04/PolicyManagementServiceTypes.xsd imports ../../upm/2006-01/UnifiedPolicyModel.xsd which imports ./PolicyDomain.xsd which imports ./AuditingProfile.xsd.
It's my understanding that relative paths are relative to the importing schema -- in this case, it should be looking for AuditingProfile.xsd in the same directory as PolicyDomain.xsd.