
| Key: |
WSCOMMONS-78
|
| Type: |
Bug
|
| Status: |
Resolved
|
| Resolution: |
Fixed
|
| Priority: |
Major
|
| Assignee: |
Unassigned
|
| Reporter: |
Jochen Wiedmann
|
| Votes: |
0
|
| Watchers: |
0
|
|
If you were logged in you would be able to see more operations.
|
|
|
|
File Attachments:
|
|
|
Issue Links:
|
Dependants
|
|
|
|
Duplicate
|
|
|
|
This issue is duplicated by:
|
|
WSCOMMONS-87
SchemaBuilder handleSimpleType does not find default namespace which gives a NPE
|
|
|
|
|
|
|
| Resolution Date: |
05/Sep/06 04:22 PM
|
|
The XML Schema specification states in "4.2.1 Assembling a schema for a single target namespace from multiple schema definition documents":
2 One of the following must be true:
...
2.3 SII has no targetNamespace [attribute] (but SII' does).
3 The appropriate case among the following must be true:
...
3.2 If clause 2.3 above is satisfied, then the schema corresponding to the <include>d item's parent <schema> must include not only definitions
or declarations corresponding to the appropriate members of its own [children], but also components identical to all the - schema components- of I,
except that anywhere the - absent- target namespace name would have appeared, the - actual value- of the targetNamespace [attribute] of SII' is used.
In particular, it replaces - absent- in the following places:
3.2.1 The {target namespace} of named schema components, both at the top level and (in the case of nested type definitions and nested attribute and
element declarations whose code was qualified) nested within definitions;
3.2.2 The {namespace constraint} of a wildcard, whether negated or not;
In other words, it is possible to include a schema without namespace, as if it had the namespace of the including schema.
Unfortunately this fails with XmlSchema, as the attached patch demonstrates. The patch includes a simple test case and could be applied, if this bug is fixed.
Suggested resolution, as realized in JaxMeXS: If such a schema is being parsed, then mutable instances of QName should be created, which would always
return the target namespace of the schema.
|
|
Description
|
The XML Schema specification states in "4.2.1 Assembling a schema for a single target namespace from multiple schema definition documents":
2 One of the following must be true:
...
2.3 SII has no targetNamespace [attribute] (but SII' does).
3 The appropriate case among the following must be true:
...
3.2 If clause 2.3 above is satisfied, then the schema corresponding to the <include>d item's parent <schema> must include not only definitions
or declarations corresponding to the appropriate members of its own [children], but also components identical to all the - schema components- of I,
except that anywhere the - absent- target namespace name would have appeared, the - actual value- of the targetNamespace [attribute] of SII' is used.
In particular, it replaces - absent- in the following places:
3.2.1 The {target namespace} of named schema components, both at the top level and (in the case of nested type definitions and nested attribute and
element declarations whose code was qualified) nested within definitions;
3.2.2 The {namespace constraint} of a wildcard, whether negated or not;
In other words, it is possible to include a schema without namespace, as if it had the namespace of the including schema.
Unfortunately this fails with XmlSchema, as the attached patch demonstrates. The patch includes a simple test case and could be applied, if this bug is fixed.
Suggested resolution, as realized in JaxMeXS: If such a schema is being parsed, then mutable instances of QName should be created, which would always
return the target namespace of the schema.
|
Show » |
made changes - 05/Sep/06 01:47 PM
made changes - 05/Sep/06 04:22 PM
|
Resolution
|
|
Fixed
[ 1
]
|
|
Status
|
Open
[ 1
]
|
Resolved
[ 5
]
|
|