Package org.apache.xerces.impl.dv

Examples of org.apache.xerces.impl.dv.ValidatedInfo


        if (context == null)
            context = fEmptyContext;

        if (validatedInfo == null)
            validatedInfo = new ValidatedInfo();
        else
            validatedInfo.memberType = null;

        // first normalize string value, and convert it to actual value
        boolean needNormalize = context==null||context.needToNormalize();
View Full Code Here


        if (context == null)
            context = fEmptyContext;

        if (validatedInfo == null)
            validatedInfo = new ValidatedInfo();
        else
            validatedInfo.memberType = null;

        // first normalize string value, and convert it to actual value
        boolean needNormalize = context==null||context.needToNormalize();
View Full Code Here

  void applyFacets(XSFacets facets, short presentFacet, short fixedFacet, short patternType, ValidationContext context)
  throws InvalidDatatypeFacetException {
   
    // if the object is immutable, should not apply facets...
    if(fIsImmutable) return;
    ValidatedInfo tempInfo = new ValidatedInfo();
   
    // clear facets. because we always inherit facets in the constructor
    // REVISIT: in fact, we don't need to clear them.
    // we can convert 5 string values (4 bounds + 1 enum) to actual values,
    // store them somewhere, then do facet checking at once, instead of
    // going through the following steps. (lots of checking are redundant:
    // for example, ((presentFacet & FACET_XXX) != 0))
   
    fFacetsDefined = 0;
    fFixedFacet = 0;
   
    int result = 0 ;
   
    // step 1: parse present facets
    short allowedFacet = fDVs[fValidationDV].getAllowedFacets();
   
    // length
    if ((presentFacet & FACET_LENGTH) != 0) {
      if ((allowedFacet & FACET_LENGTH) == 0) {
        reportError("cos-applicable-facets", new Object[]{"length", fTypeName});
      } else {
        fLength = facets.length;
        lengthAnnotation = facets.lengthAnnotation;
        fFacetsDefined |= FACET_LENGTH;
        if ((fixedFacet & FACET_LENGTH) != 0)
          fFixedFacet |= FACET_LENGTH;
      }
    }
    // minLength
    if ((presentFacet & FACET_MINLENGTH) != 0) {
      if ((allowedFacet & FACET_MINLENGTH) == 0) {
        reportError("cos-applicable-facets", new Object[]{"minLength", fTypeName});
      } else {
        fMinLength = facets.minLength;
        minLengthAnnotation = facets.minLengthAnnotation;
        fFacetsDefined |= FACET_MINLENGTH;
        if ((fixedFacet & FACET_MINLENGTH) != 0)
          fFixedFacet |= FACET_MINLENGTH;
      }
    }
    // maxLength
    if ((presentFacet & FACET_MAXLENGTH) != 0) {
      if ((allowedFacet & FACET_MAXLENGTH) == 0) {
        reportError("cos-applicable-facets", new Object[]{"maxLength", fTypeName});
      } else {
        fMaxLength = facets.maxLength;
        maxLengthAnnotation = facets.maxLengthAnnotation;
        fFacetsDefined |= FACET_MAXLENGTH;
        if ((fixedFacet & FACET_MAXLENGTH) != 0)
          fFixedFacet |= FACET_MAXLENGTH;
      }
    }
    // pattern
    if ((presentFacet & FACET_PATTERN) != 0) {
      if ((allowedFacet & FACET_PATTERN) == 0) {
        reportError("cos-applicable-facets", new Object[]{"pattern", fTypeName});
      } else {
        patternAnnotations = facets.patternAnnotations;
        RegularExpression regex = null;
        try {
          regex = new RegularExpression(facets.pattern, "X");
        } catch (Exception e) {
          reportError("InvalidRegex", new Object[]{facets.pattern, e.getLocalizedMessage()});
        }
        if (regex != null) {
          fPattern = new Vector();
          fPattern.addElement(regex);
          fPatternStr = new Vector();
          fPatternStr.addElement(facets.pattern);
          fFacetsDefined |= FACET_PATTERN;
          if ((fixedFacet & FACET_PATTERN) != 0)
            fFixedFacet |= FACET_PATTERN;
        }
      }
    }
   
    // enumeration
    if ((presentFacet & FACET_ENUMERATION) != 0) {
      if ((allowedFacet & FACET_ENUMERATION) == 0) {
        reportError("cos-applicable-facets", new Object[]{"enumeration", fTypeName});
      } else {
        fEnumeration = new Vector();
        Vector enumVals = facets.enumeration;
        fEnumerationType = new short[enumVals.size()];
                fEnumerationItemType = new ShortList[enumVals.size()];
        Vector enumNSDecls = facets.enumNSDecls;
        ValidationContextImpl ctx = new ValidationContextImpl(context);
        enumerationAnnotations = facets.enumAnnotations;
        for (int i = 0; i < enumVals.size(); i++) {
          if (enumNSDecls != null)
            ctx.setNSContext((NamespaceContext)enumNSDecls.elementAt(i));
          try {
            ValidatedInfo info = this.fBase.validateWithInfo((String)enumVals.elementAt(i), ctx, tempInfo);
            // check 4.3.5.c0 must: enumeration values from the value space of base
            fEnumeration.addElement(info.actualValue);
            fEnumerationType[i] = info.actualValueType;
                        fEnumerationItemType[i] = info.itemValueTypes;
          } catch (InvalidDatatypeValueException ide) {
View Full Code Here

   
    if (context == null)
      context = fEmptyContext;
   
    if (validatedInfo == null)
      validatedInfo = new ValidatedInfo();
    else
      validatedInfo.memberType = null;
   
    // first normalize string value, and convert it to actual value
    boolean needNormalize = context==null||context.needToNormalize();
View Full Code Here

   
    if (context == null)
      context = fEmptyContext;
   
    if (validatedInfo == null)
      validatedInfo = new ValidatedInfo();
    else
      validatedInfo.memberType = null;
   
    // first normalize string value, and convert it to actual value
    boolean needNormalize = context==null||context.needToNormalize();
View Full Code Here

   
    if (context == null)
      context = fEmptyContext;
   
    if (validatedInfo == null)
      validatedInfo = new ValidatedInfo();
    else
      validatedInfo.memberType = null;
   
    // first normalize string value, and convert it to actual value
    boolean needNormalize = context==null||context.needToNormalize();
View Full Code Here

            }
            attrUse.fAttrDecl = attribute;
            attrUse.fUse = useAtt.shortValue();
            attrUse.fConstraintType = consType;
            if (defaultAtt != null) {
                attrUse.fDefault = new ValidatedInfo();
                attrUse.fDefault.normalizedValue = defaultAtt;
            }
            // Get the annotation associated witht the local attr decl
            if (attrDecl.getAttributeNode(SchemaSymbols.ATT_REF) == null) {
                attrUse.fAnnotations = attribute.getAnnotations();
View Full Code Here

                tnsAtt = schemaDoc.fTargetNamespace;
            }
        }
        // get 'value constraint'
        // for local named attribute, value constraint is absent
        ValidatedInfo attDefault = null;
        short constraintType = XSConstants.VC_NONE;
        if (isGlobal) {
            if (fixedAtt != null) {
                attDefault = new ValidatedInfo();
                attDefault.normalizedValue = fixedAtt;
                constraintType = XSConstants.VC_FIXED;
            } else if (defaultAtt != null) {
                attDefault = new ValidatedInfo();
                attDefault.normalizedValue = defaultAtt;
                constraintType = XSConstants.VC_DEFAULT;
            }
        }
       
View Full Code Here

        if (abstractAtt != null && abstractAtt.booleanValue())
            element.setIsAbstract();
       
        // get 'value constraint'
        if (fixedAtt != null) {
            element.fDefault = new ValidatedInfo();
            element.fDefault.normalizedValue = fixedAtt;
            element.setConstraintType(XSConstants.VC_FIXED);
        } else if (defaultAtt != null) {
            element.fDefault = new ValidatedInfo();
            element.fDefault.normalizedValue = defaultAtt;
            element.setConstraintType(XSConstants.VC_DEFAULT);
        } else {
            element.setConstraintType(XSConstants.VC_NONE);
        }
View Full Code Here

        XSObjectList attrUses = attrGrp.getAttributeUses();
        int useCount = attrUses.getLength();
        XSAttributeUseImpl currUse;
        XSAttributeDecl currDecl;
        short constType;
        ValidatedInfo defaultValue;
        boolean isSpecified;
        QName attName;
        // for each attribute use
        for (int i = 0; i < useCount; i++) {

            currUse = (XSAttributeUseImpl) attrUses.item(i);
            currDecl = currUse.fAttrDecl;
            // get value constraint
            constType = currUse.fConstraintType;
            defaultValue = currUse.fDefault;
            if (constType == XSConstants.VC_NONE) {
                constType = currDecl.getConstraintType();
                defaultValue = currDecl.fDefault;
            }
            // whether this attribute is specified
            isSpecified = attributes.getValue(currDecl.fTargetNamespace, currDecl.fName) != null;

            // Element Locally Valid (Complex Type)
            // 4 The {attribute declaration} of each attribute use in the {attribute uses} whose
            // {required} is true matches one of the attribute information items in the element
            // information item's [attributes] as per clause 3.1 above.
            if (currUse.fUse == SchemaSymbols.USE_REQUIRED) {
                if (!isSpecified)
                    reportSchemaError(
                        "cvc-complex-type.4",
                        new Object[] { element.rawname, currDecl.fName });
            }
            // if the attribute is not specified, then apply the value constraint
            if (!isSpecified && constType != XSConstants.VC_NONE) {
                attName =
                    new QName(null, currDecl.fName, currDecl.fName, currDecl.fTargetNamespace);
                String normalized = (defaultValue != null) ? defaultValue.stringValue() : "";
                int attrIndex;
                if (attributes instanceof XMLAttributesImpl) {
                    XMLAttributesImpl attrs = (XMLAttributesImpl) attributes;
                    attrIndex = attrs.getLength();
                    attrs.addAttributeNS(attName, "CDATA", normalized);
View Full Code Here

TOP

Related Classes of org.apache.xerces.impl.dv.ValidatedInfo

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.