示例#1
0
 @Override
 public String toString() {
   StringBuffer sb = new StringBuffer("XML Schema targetNamespace='");
   sb.append(targetNamespace);
   sb.append("'\n");
   sb.append("\n*** ");
   sb.append(elementMap.size());
   sb.append(" global element declarations ***\n");
   for (ElementDeclaration elemDec : elementMap.values()) {
     sb.append(elemDec.toString(""));
   }
   sb.append("\n*** ");
   sb.append(simpleTypeMap.size());
   sb.append(" global simple type declarations ***\n");
   for (SimpleTypeDeclaration type : simpleTypeMap.values()) {
     sb.append(type.toString(""));
   }
   sb.append("\n*** ");
   sb.append(complexTypeMap.size());
   sb.append(" global complex type declarations ***\n");
   for (ComplexTypeDeclaration type : complexTypeMap.values()) {
     sb.append(type.toString(""));
   }
   return sb.toString();
 }
示例#2
0
 private void resolveReferences(TypeDeclaration typeDeclaration)
     throws UnresolvableReferenceException {
   LOG.logDebug(
       "Resolving references in type declaration '"
           + typeDeclaration.getName().getLocalName()
           + "'.");
   if (typeDeclaration instanceof SimpleTypeDeclaration) {
     LOG.logDebug("SimpleType.");
     SimpleTypeDeclaration simpleType = (SimpleTypeDeclaration) typeDeclaration;
     TypeReference typeReference = simpleType.getRestrictionBaseType();
     if (typeReference != null) {
       LOG.logDebug("restriction base='" + typeReference.getName() + "'");
       try {
         resolveType(typeReference);
       } catch (XMLSchemaException e) {
         throw new UndefinedXSDTypeException(
             "Declaration of type '"
                 + typeDeclaration.getName()
                 + "' derives type '"
                 + typeReference.getName()
                 + "' which is not a defined simple type.");
       }
     }
   } else {
     LOG.logDebug("ComplexType.");
     ComplexTypeDeclaration complexType = (ComplexTypeDeclaration) typeDeclaration;
     TypeReference typeReference = complexType.getExtensionBaseType();
     if (typeReference != null) {
       LOG.logDebug("extension base='" + typeReference.getName() + "'");
       try {
         resolveType(typeReference);
       } catch (XMLSchemaException e) {
         throw new UndefinedXSDTypeException(
             "Declaration of type '"
                 + typeDeclaration.getName()
                 + "' derives type '"
                 + typeReference.getName()
                 + "' which is not a defined complex type.");
       }
     }
     ElementDeclaration[] elements = complexType.getExplicitElements();
     for (int i = 0; i < elements.length; i++) {
       resolveReferences(elements[i]);
     }
   }
 }