private static String processAttValue(String original) { final int length = original.length(); // normally, nothing will happen for (int i = 0; i < length; ++i) { char currChar = original.charAt(i); if (currChar == '"' || currChar == '<' || currChar == '&' || currChar == 0x09 || currChar == 0x0A || currChar == 0x0D) { return escapeAttValue(original, i); } } return original; }
if (!defaultMin) { Object[] args = new Object[]{particleName, "minOccurs"}; reportSchemaError("s4s-att-not-allowed", args, parent); min = 1; reportSchemaError("s4s-att-not-allowed", args, parent); max = 1; reportSchemaError("cos-all-limited.2", new Object[]{ (max == SchemaSymbols.OCCURRENCE_UNBOUNDED) ? SchemaSymbols.ATTVAL_UNBOUNDED : Integer.toString(max), ((XSElementDecl)particle.fValue).getName()}, parent); reportSchemaError("cos-all-limited.1.2", null, parent); if (min > 1) min = 1;
void reset(SymbolTable symbolTable, boolean validateAnnotations, Locale locale) { super.reset(symbolTable, validateAnnotations, locale); fDeferTraversingLocalElements = true; } // reset()
short facetsFixed = 0; // facets that have fixed="true" String facet; boolean hasQName = containsQName(baseValidator); Vector enumData = null; Vector assertData = null; reportSchemaError("s4s-att-must-appear", new Object[]{SchemaSymbols.ELT_ENUMERATION, SchemaSymbols.ATT_VALUE}, content); fAttrChecker.returnAttrArray (attrs, schemaDoc); content = DOMUtil.getNextSiblingElement(content); reportSchemaError(ex.getKey(), ex.getArgs(), content); enumAnnotations.addXSObject(enumAnnotations.getLength()-1,traverseAnnotationDecl(child, attrs, false, schemaDoc)); child = DOMUtil.getNextSiblingElement(child); String text = DOMUtil.getSyntheticAnnotation(content); if (text != null) { enumAnnotations.addXSObject(enumAnnotations.getLength()-1, traverseSyntheticAnnotation(content, text, attrs, false, schemaDoc)); reportSchemaError("s4s-elt-must-match.1", new Object[]{"enumeration", "(annotation?)", DOMUtil.getLocalName(child)}, child); reportSchemaError("s4s-att-must-appear", new Object[]{SchemaSymbols.ELT_PATTERN, SchemaSymbols.ATT_VALUE}, content); fAttrChecker.returnAttrArray (attrs, schemaDoc); content = DOMUtil.getNextSiblingElement(content); patternAnnotations.addXSObject(traverseAnnotationDecl(child, attrs, false, schemaDoc)); child = DOMUtil.getNextSiblingElement(child); patternAnnotations.addXSObject(traverseSyntheticAnnotation(content, text, attrs, false, schemaDoc));
reportSchemaError("src-annotation", new Object[]{name}, child); String value = (String)annotationLocalAttrs.elementAt(i++); value = processAttValue(value); localStrBuffer.append(value) .append("\" ");
String code = (enclosingParent instanceof XSAttributeGroupDecl) ? "ag-props-correct.3" : "ct-props-correct.5"; String name = enclosingParent.getName(); reportSchemaError(code, new Object[]{name, tempAttrUse.fAttrDecl.getName(), idName}, child); String code = (enclosingParent instanceof XSAttributeGroupDecl) ? "ag-props-correct.2" : "ct-props-correct.4"; String name = enclosingParent.getName(); reportSchemaError(code, new Object[]{name, tempAttrUse.fAttrDecl.getName()}, child); setAttributeGroupCount(attrGroupCounts, tempAttrGrp.getName(), tempAttrGrp.getNamespace()); if(tempAttrGrp == null ) continue; XSObjectList attrUseS = tempAttrGrp.getAttributeUses(); String code = (enclosingParent instanceof XSAttributeGroupDecl) ? "ag-props-correct.3" : "ct-props-correct.5"; String name = enclosingParent.getName(); reportSchemaError(code, new Object[]{name, oneAttrUse.fAttrDecl.getName(), idName}, child); String code = (enclosingParent instanceof XSAttributeGroupDecl) ? "ag-props-correct.2" : "ct-props-correct.4"; String name = enclosingParent.getName(); reportSchemaError(code, new Object[]{name, oneAttrUse.fAttrDecl.getName()}, child); String code = (enclosingParent instanceof XSAttributeGroupDecl) ? "src-attribute_group.2" : "src-ct.4"; String name = enclosingParent.getName(); reportSchemaError(code, new Object[]{name}, child); Integer count = (Integer)attrGroupCounts.get(qname); if (count.intValue() > 1) { reportSchemaWarning("src-ct.7", new Object[]{qname.localpart, enclosingParent.getName()}, (Element)firstAttr.getParentNode()); String code = (enclosingParent instanceof XSAttributeGroupDecl) ? "src-attribute_group.2" : "src-ct.4";
private boolean containsQName(XSSimpleType type) { if (type.getVariety() == XSSimpleType.VARIETY_ATOMIC) { short primitive = type.getPrimitiveKind(); return (primitive == XSSimpleType.PRIMITIVE_QNAME || primitive == XSSimpleType.PRIMITIVE_NOTATION); } else if (type.getVariety() == XSSimpleType.VARIETY_LIST) { return containsQName((XSSimpleType)type.getItemType()); } else if (type.getVariety() == XSSimpleType.VARIETY_UNION) { XSObjectList members = type.getMemberTypes(); for (int i = 0; i < members.getLength(); i++) { if (containsQName((XSSimpleType)members.item(i))) return true; } } return false; }
String value = (String)annotationLocalAttrs.elementAt(i++); value = processAttValue(value); localStrBuffer.append(value) .append("\" ");
private void getAssertsFromBaseTypes(XSSimpleType baseValidator) { XSObjectList multiValFacetsOfBaseType = baseValidator.getMultiValueFacets(); for (int i = 0; i < multiValFacetsOfBaseType.getLength(); i++) { XSMultiValueFacet mvFacet = (XSMultiValueFacet) multiValFacetsOfBaseType.item(i); if (mvFacet.getFacetKind() == XSSimpleTypeDefinition.FACET_ASSERT) { // add asserts to the global Vector object Vector assertsToAdd = mvFacet.getAsserts(); for (int j = 0; j < assertsToAdd.size(); j++) { // add assertion to the list, only if it's already not present if (!assertExists((XSAssertImpl)assertsToAdd.get(j))) { baseAsserts.add(assertsToAdd.get(j)); } } break; } } // invoke the method recursively. go up the type hierarchy. if (baseValidator.getBaseType() != null) { getAssertsFromBaseTypes((XSSimpleType)baseValidator.getBaseType()); } } // getAssertsFromBaseTypes
/** * Element/Attribute traversers call this method to check whether * the type is NOTATION without enumeration facet */ void checkNotationType(String refName, XSTypeDefinition typeDecl, Element elem) { if (typeDecl.getTypeCategory() == XSTypeDefinition.SIMPLE_TYPE && ((XSSimpleType)typeDecl).getVariety() == XSSimpleType.VARIETY_ATOMIC && ((XSSimpleType)typeDecl).getPrimitiveKind() == XSSimpleType.PRIMITIVE_NOTATION) { if ((((XSSimpleType)typeDecl).getDefinedFacets() & XSSimpleType.FACET_ENUMERATION) == 0) { reportSchemaError("enumeration-required-notation", new Object[]{typeDecl.getName(), refName, DOMUtil.getLocalName(elem)}, elem); } } }