[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xerces-cvs
Subject:    svn commit: r1564227 - /xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traver
From:       mukulg () apache ! org
Date:       2014-02-04 8:42:39
Message-ID: 20140204084239.7DA2C23888FE () eris ! apache ! org
[Download RAW message or body]

Author: mukulg
Date: Tue Feb  4 08:42:39 2014
New Revision: 1564227

URL: http://svn.apache.org/r1564227
Log:
doing minor refactoring to XSD 1.1 XSDHandler component, to reduce complexity of \
code. currently haven't done this on XSD 1.0 code base.

Modified:
    xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java


Modified: xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
                
URL: http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apac \
he/xerces/impl/xs/traversers/XSDHandler.java?rev=1564227&r1=1564226&r2=1564227&view=diff
 ==============================================================================
--- xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java \
                (original)
+++ xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java \
Tue Feb  4 08:42:39 2014 @@ -1601,73 +1601,11 @@ public class XSDHandler {
             boolean sawAnnotation = false;
 
             // traverse this schema's global decls
-            for (Element globalComp =
-                DOMUtil.getFirstVisibleChildElement(currRoot, fHiddenNodes);
-            globalComp != null;
-            globalComp = DOMUtil.getNextVisibleSiblingElement(globalComp, \
                fHiddenNodes)) {
-                DOMUtil.setHidden(globalComp, fHiddenNodes); 
-                String componentType = DOMUtil.getLocalName(globalComp);
-                // includes and imports will not show up here!
-                if (DOMUtil.getLocalName(globalComp).equals(SchemaSymbols.ELT_REDEFINE)) \
                {
-                    // use the namespace decls for the redefine, instead of for the \
                parent <schema>
-                    \
currSchemaDoc.backupNSSupport((SchemaNamespaceSupport)fRedefine2NSSupport.get(globalComp));
                
-                    for (Element redefinedComp = \
                DOMUtil.getFirstVisibleChildElement(globalComp, fHiddenNodes);
-                    redefinedComp != null;
-                    redefinedComp = \
                DOMUtil.getNextVisibleSiblingElement(redefinedComp, fHiddenNodes)) {
-                        String redefinedComponentType = \
                DOMUtil.getLocalName(redefinedComp);
-                        DOMUtil.setHidden(redefinedComp, fHiddenNodes);
-                        if \
                (redefinedComponentType.equals(SchemaSymbols.ELT_ATTRIBUTEGROUP)) {
-                            fAttributeGroupTraverser.traverseGlobal(redefinedComp, \
                currSchemaDoc, currSG);
-                        }
-                        else if \
                (redefinedComponentType.equals(SchemaSymbols.ELT_COMPLEXTYPE)) {
-                            fComplexTypeTraverser.traverseGlobal(redefinedComp, \
                currSchemaDoc, currSG);
-                        }
-                        else if \
                (redefinedComponentType.equals(SchemaSymbols.ELT_GROUP)) {
-                            fGroupTraverser.traverseGlobal(redefinedComp, \
                currSchemaDoc, currSG);
-                        }
-                        else if \
                (redefinedComponentType.equals(SchemaSymbols.ELT_SIMPLETYPE)) {
-                            fSimpleTypeTraverser.traverseGlobal(redefinedComp, \
                currSchemaDoc, currSG);
-                        }
-                        // annotations will have been processed already; this is now
-                        // unnecessary
-                        //else if \
                (redefinedComponentType.equals(SchemaSymbols.ELT_ANNOTATION)) {
-                        //    \
                fElementTraverser.traverseAnnotationDecl(redefinedComp, null, true, \
                currSchemaDoc);
-                        //}
-                        else {
-                            reportSchemaError("s4s-elt-must-match.1", new Object [] \
{DOMUtil.getLocalName(globalComp), "(annotation | (simpleType | complexType | group | \
                attributeGroup))*", redefinedComponentType}, redefinedComp);
-                        }
-                    } // end march through <redefine> children
-                    currSchemaDoc.restoreNSSupport();
-                }
-                else if (componentType.equals(SchemaSymbols.ELT_ATTRIBUTE)) {
-                    fAttributeTraverser.traverseGlobal(globalComp, currSchemaDoc, \
                currSG);
-                }
-                else if (componentType.equals(SchemaSymbols.ELT_ATTRIBUTEGROUP)) {
-                    fAttributeGroupTraverser.traverseGlobal(globalComp, \
                currSchemaDoc, currSG);
-                }
-                else if (componentType.equals(SchemaSymbols.ELT_COMPLEXTYPE)) {
-                    fComplexTypeTraverser.traverseGlobal(globalComp, currSchemaDoc, \
                currSG);
-                }
-                else if (componentType.equals(SchemaSymbols.ELT_ELEMENT)) {
-                    fElementTraverser.traverseGlobal(globalComp, currSchemaDoc, \
                currSG);
-                }
-                else if (componentType.equals(SchemaSymbols.ELT_GROUP)) {
-                    fGroupTraverser.traverseGlobal(globalComp, currSchemaDoc, \
                currSG);
-                }
-                else if (componentType.equals(SchemaSymbols.ELT_NOTATION)) {
-                    fNotationTraverser.traverse(globalComp, currSchemaDoc, currSG);
-                }
-                else if (componentType.equals(SchemaSymbols.ELT_SIMPLETYPE)) {
-                    fSimpleTypeTraverser.traverseGlobal(globalComp, currSchemaDoc, \
                currSG);
-                }
-                else if (componentType.equals(SchemaSymbols.ELT_ANNOTATION)) {
-                    \
currSG.addAnnotation(fElementTraverser.traverseAnnotationDecl(globalComp, \
                currSchemaDoc.getSchemaAttrs(), true, currSchemaDoc));
-                    sawAnnotation = true;
-                }
-                else {
-                    reportSchemaError("s4s-elt-invalid-content.1", new Object [] \
                {SchemaSymbols.ELT_SCHEMA, DOMUtil.getLocalName(globalComp)}, \
                globalComp);
-                }
-            } // end for
+            for (Element globalComp = DOMUtil.getFirstVisibleChildElement(currRoot, \
fHiddenNodes); +                         globalComp != null;
+                         globalComp = \
DOMUtil.getNextVisibleSiblingElement(globalComp, fHiddenNodes)) { +                \
sawAnnotation = traverseXSDSchemaGlobalDecls(currSchemaDoc, currSG, sawAnnotation, \
globalComp); +            }
             
             if (!sawAnnotation) {
                 String text = DOMUtil.getSyntheticAnnotation(currRoot);
@@ -1696,6 +1634,79 @@ public class XSDHandler {
             }
         } // while
     } // end traverseSchemas
+
+    /*
+     * Given a set of XSD schema documents to process, this method traverses global \
declarations of one of schema documents from this set. +     */
+    private boolean traverseXSDSchemaGlobalDecls(XSDocumentInfo schemaDoc, \
SchemaGrammar schGrammar, boolean sawAnnotation, Element globalComp) { +        
+        DOMUtil.setHidden(globalComp, fHiddenNodes); 
+        String componentType = DOMUtil.getLocalName(globalComp);
+
+        // includes and imports will not show up here!
+        if (DOMUtil.getLocalName(globalComp).equals(SchemaSymbols.ELT_REDEFINE)) {
+            // use the namespace decls for the redefine, instead of for the parent \
<schema> +            \
schemaDoc.backupNSSupport((SchemaNamespaceSupport)fRedefine2NSSupport.get(globalComp));
 +            for (Element redefinedComp = \
DOMUtil.getFirstVisibleChildElement(globalComp, fHiddenNodes); +                    \
redefinedComp != null; +                    redefinedComp = \
DOMUtil.getNextVisibleSiblingElement(redefinedComp, fHiddenNodes)) { +                \
String redefinedComponentType = DOMUtil.getLocalName(redefinedComp); +                \
DOMUtil.setHidden(redefinedComp, fHiddenNodes); +                if \
(redefinedComponentType.equals(SchemaSymbols.ELT_ATTRIBUTEGROUP)) { +                 \
fAttributeGroupTraverser.traverseGlobal(redefinedComp, schemaDoc, schGrammar); +      \
} +                else if \
(redefinedComponentType.equals(SchemaSymbols.ELT_COMPLEXTYPE)) { +                    \
fComplexTypeTraverser.traverseGlobal(redefinedComp, schemaDoc, schGrammar); +         \
} +                else if (redefinedComponentType.equals(SchemaSymbols.ELT_GROUP)) {
+                    fGroupTraverser.traverseGlobal(redefinedComp, schemaDoc, \
schGrammar); +                }
+                else if \
(redefinedComponentType.equals(SchemaSymbols.ELT_SIMPLETYPE)) { +                    \
fSimpleTypeTraverser.traverseGlobal(redefinedComp, schemaDoc, schGrammar); +          \
} +                // annotations will have been processed already; this is now
+                // unnecessary
+                //else if \
(redefinedComponentType.equals(SchemaSymbols.ELT_ANNOTATION)) { +                //   \
fElementTraverser.traverseAnnotationDecl(redefinedComp, null, true, currSchemaDoc); + \
//} +                else {
+                    reportSchemaError("s4s-elt-must-match.1", new Object [] \
{DOMUtil.getLocalName(globalComp), "(annotation | (simpleType | complexType | group | \
attributeGroup))*", redefinedComponentType}, redefinedComp); +                }
+            } // end march through <redefine> children
+            schemaDoc.restoreNSSupport();
+        }
+        else if (componentType.equals(SchemaSymbols.ELT_ATTRIBUTE)) {
+            fAttributeTraverser.traverseGlobal(globalComp, schemaDoc, schGrammar);
+        }
+        else if (componentType.equals(SchemaSymbols.ELT_ATTRIBUTEGROUP)) {
+            fAttributeGroupTraverser.traverseGlobal(globalComp, schemaDoc, \
schGrammar); +        }
+        else if (componentType.equals(SchemaSymbols.ELT_COMPLEXTYPE)) {
+            fComplexTypeTraverser.traverseGlobal(globalComp, schemaDoc, schGrammar);
+        }
+        else if (componentType.equals(SchemaSymbols.ELT_ELEMENT)) {
+            fElementTraverser.traverseGlobal(globalComp, schemaDoc, schGrammar);
+        }
+        else if (componentType.equals(SchemaSymbols.ELT_GROUP)) {
+            fGroupTraverser.traverseGlobal(globalComp, schemaDoc, schGrammar);
+        }
+        else if (componentType.equals(SchemaSymbols.ELT_NOTATION)) {
+            fNotationTraverser.traverse(globalComp, schemaDoc, schGrammar);
+        }
+        else if (componentType.equals(SchemaSymbols.ELT_SIMPLETYPE)) {
+            fSimpleTypeTraverser.traverseGlobal(globalComp, schemaDoc, schGrammar);
+        }
+        else if (componentType.equals(SchemaSymbols.ELT_ANNOTATION)) {
+            schGrammar.addAnnotation(fElementTraverser.traverseAnnotationDecl(globalComp, \
schemaDoc.getSchemaAttrs(), true, schemaDoc)); +            sawAnnotation = true;
+        }
+        else {
+            reportSchemaError("s4s-elt-invalid-content.1", new Object [] \
{SchemaSymbols.ELT_SCHEMA, DOMUtil.getLocalName(globalComp)}, globalComp); +        }
+
+        return sawAnnotation;
+        
+    } // traverseXSDSchemaGlobalDecls
     
     // store whether we have reported an error about that no grammar
     // is found for the given namespace uri



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic