Author: dims
Date: Fri Feb 23 07:43:59 2007
New Revision: 510989
URL: http://svn.apache.org/viewvc?view=rev&rev=510989
Log:
Fix for WSCOMMONS-149 - SchemaBuilder does not parse all the 'key' and 'keyref'
definitions
Modified:
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java
Modified:
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java?view=diff&rev=510989&r1=510988&r2=510989
==============================================================================
---
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java
(original)
+++
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java
Fri Feb 23 07:43:59 2007
@@ -1370,32 +1370,30 @@
element.schemaType = handleComplexType(schema, complexTypeEl,
schemaEl);
}
- if ((keyEl =
- XDOMUtil.getFirstChildElementNS(el, XmlSchema.SCHEMA_NS,
"key")) != null) {
-
- element.constraints.add(handleConstraint(keyEl, "Key"));
+ if ((keyEl = XDOMUtil.getFirstChildElementNS(el, XmlSchema.SCHEMA_NS,
"key")) != null) {
+ while(keyEl != null) {
+ element.constraints.add(handleConstraint(keyEl, "Key"));
+ keyEl = XDOMUtil.getNextSiblingElement(keyEl, "key");
+ }
}
if ((keyrefEl = XDOMUtil.getFirstChildElementNS(el,
XmlSchema.SCHEMA_NS, "keyref")) != null) {
-
- XmlSchemaKeyref keyRef =
- (XmlSchemaKeyref) handleConstraint(keyrefEl,
- "Keyref");
-
- if (el.hasAttribute("refer")) {
- String name = el.getAttribute("refer");
- keyRef.refer = getRefQName(name, el);
- }
-
- element.constraints.add(keyRef);
-
+ while(keyrefEl != null) {
+ XmlSchemaKeyref keyRef = (XmlSchemaKeyref)
handleConstraint(keyrefEl, "Keyref");
+ if(keyrefEl.hasAttribute("refer")) {
+ String name = keyrefEl.getAttribute("refer");
+ keyRef.refer = getRefQName(name, el);
+ }
+ element.constraints.add(keyRef);
+ keyrefEl = XDOMUtil.getNextSiblingElement(keyrefEl,
"keyref");
+ }
}
- if ((uniqueEl =
- XDOMUtil.getFirstChildElementNS(el,
- XmlSchema.SCHEMA_NS, "unique")) != null) {
-
- element.constraints.add(handleConstraint(uniqueEl, "Unique"));
+ if ((uniqueEl = XDOMUtil.getFirstChildElementNS(el,
XmlSchema.SCHEMA_NS, "unique")) != null) {
+ while(uniqueEl != null) {
+ element.constraints.add(handleConstraint(uniqueEl,
"Unique"));
+ uniqueEl = XDOMUtil.getNextSiblingElement(uniqueEl,
"unique");
+ }
}
if (el.hasAttribute("abstract")) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]