org.apache.xerces.xs.XSAttributeUse Java Examples
The following examples show how to use
org.apache.xerces.xs.XSAttributeUse.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CMXSDElementDeclaration.java From lemminx with Eclipse Public License 2.0 | 5 votes |
private void collectAttributesDeclaration(XSComplexTypeDefinition typeDefinition, Collection<CMAttributeDeclaration> attributes) { XSObjectList list = typeDefinition.getAttributeUses(); if (list != null) { for (int i = 0; i < list.getLength(); i++) { XSObject object = list.item(i); if (object.getType() == XSConstants.ATTRIBUTE_USE) { XSAttributeUse attributeUse = (XSAttributeUse) object; attributes.add(new CMXSDAttributeDeclaration(attributeUse)); } } } }
Example #2
Source File: CMXSDAttributeDeclaration.java From lemminx with Eclipse Public License 2.0 | 4 votes |
public CMXSDAttributeDeclaration(XSAttributeUse attributeUse) { this.attributeUse = attributeUse; this.valuesDocumentation = new HashMap<>(); }
Example #3
Source File: XSColorVisitor.java From jlibs with Apache License 2.0 | 4 votes |
@SuppressWarnings({"UnusedDeclaration"}) protected Color process(XSAttributeUse attrUse){ return COLOR_ATTRIBUTE; }
Example #4
Source File: XmlTo.java From iaf with Apache License 2.0 | 4 votes |
@Override public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException { boolean xmlArrayContainer=aligner.isParentOfSingleMultipleOccurringChildElement(); boolean repeatedElement=aligner.isMultipleOccurringChildInParentElement(localName); XSTypeDefinition typeDefinition=aligner.getTypeDefinition(); if (!localName.equals(topElement)) { if (topElement!=null) { if (log.isTraceEnabled()) log.trace("endElementGroup ["+topElement+"]"); documentContainer.endElementGroup(topElement); } if (log.isTraceEnabled()) log.trace("startElementGroup ["+localName+"]"); documentContainer.startElementGroup(localName, xmlArrayContainer, repeatedElement, typeDefinition); topElement=localName; } element.push(topElement); topElement=null; if (log.isTraceEnabled()) log.trace("startElement ["+localName+"] xml array container ["+aligner.isParentOfSingleMultipleOccurringChildElement()+"] repeated element ["+aligner.isMultipleOccurringChildInParentElement(localName)+"]"); documentContainer.startElement(localName,xmlArrayContainer,repeatedElement, typeDefinition); super.startElement(uri, localName, qName, atts); if (aligner.isNil(atts)) { documentContainer.setNull(); } else { if (writeAttributes) { XSObjectList attributeUses=aligner.getAttributeUses(); if (attributeUses==null) { if (atts.getLength()>0) { log.warn("found ["+atts.getLength()+"] attributes, but no declared AttributeUses"); } } else { for (int i=0;i<attributeUses.getLength(); i++) { XSAttributeUse attributeUse=(XSAttributeUse)attributeUses.item(i); XSAttributeDeclaration attributeDeclaration=attributeUse.getAttrDeclaration(); XSSimpleTypeDefinition attTypeDefinition=attributeDeclaration.getTypeDefinition(); String attName=attributeDeclaration.getName(); String attNS=attributeDeclaration.getNamespace(); if (log.isTraceEnabled()) log.trace("startElement ["+localName+"] searching attribute ["+attNS+":"+attName+"]"); int attIndex=attNS!=null? atts.getIndex(attNS, attName):atts.getIndex(attName); if (attIndex>=0) { String value=atts.getValue(attIndex); if (log.isTraceEnabled()) log.trace("startElement ["+localName+"] attribute ["+attNS+":"+attName+"] value ["+value+"]"); if (StringUtils.isNotEmpty(value)) { documentContainer.setAttribute(attName, value, attTypeDefinition); } } } } } } }
Example #5
Source File: XmlTypeToJsonSchemaConverter.java From iaf with Apache License 2.0 | 4 votes |
private void buildObject(JsonObjectBuilder builder, XSObjectList particles, XSObjectList attributeUses, String textAttribute, XSTypeDefinition baseType){ builder.add("type", "object"); builder.add("additionalProperties", false); JsonObjectBuilder propertiesBuilder = Json.createObjectBuilder(); List<String> requiredProperties = new ArrayList<String>(); if (attributeUses!=null) { for (int i=0; i< attributeUses.getLength(); i++) { XSAttributeUse attributeUse = (XSAttributeUse)attributeUses.get(i); XSAttributeDeclaration attributeDecl = attributeUse.getAttrDeclaration(); propertiesBuilder.add(attributePrefix+attributeDecl.getName(), getDefinition(attributeDecl.getTypeDefinition(), true)); } } if (textAttribute!=null && ((attributeUses!=null && attributeUses.getLength()>0) || (particles!=null && particles.getLength()>0))) { JsonObject elementType = baseType!=null ? getDefinition(baseType, true) : Json.createObjectBuilder().add("type", "string").build(); propertiesBuilder.add(textAttribute, elementType); } if (particles!=null) { for (int i=0;i<particles.getLength();i++) { XSParticle childParticle = (XSParticle)particles.item(i); if (log.isTraceEnabled()) log.trace("childParticle ["+i+"]["+ToStringBuilder.reflectionToString(childParticle,ToStringStyle.MULTI_LINE_STYLE)+"]"); XSTerm childTerm = childParticle.getTerm(); if (childTerm instanceof XSElementDeclaration) { XSElementDeclaration elementDeclaration = (XSElementDeclaration) childTerm; String elementName = elementDeclaration.getName(); if(elementName != null && childParticle.getMinOccurs() != 0){ requiredProperties.add(elementName); } } handleParticle(propertiesBuilder, childParticle, null, true); } } builder.add("properties", propertiesBuilder.build()); if(requiredProperties.size() > 0){ JsonArrayBuilder requiredPropertiesBuilder = Json.createArrayBuilder(); for (String requiredProperty : requiredProperties) { requiredPropertiesBuilder.add(requiredProperty); } builder.add("required", requiredPropertiesBuilder.build()); } }
Example #6
Source File: ToXml.java From iaf with Apache License 2.0 | 4 votes |
public void handleElement(XSElementDeclaration elementDeclaration, N node) throws SAXException { String name = elementDeclaration.getName(); String elementNamespace=elementDeclaration.getNamespace(); String qname=getQName(elementNamespace, name); if (log.isTraceEnabled()) log.trace("handleNode() name ["+name+"] elementNamespace ["+elementNamespace+"]"); newLine(); AttributesImpl attributes=new AttributesImpl(); Map<String,String> nodeAttributes = getAttributes(elementDeclaration, node); if (log.isTraceEnabled()) log.trace("node ["+name+"] search for attributeDeclaration"); XSTypeDefinition typeDefinition=elementDeclaration.getTypeDefinition(); XSObjectList attributeUses=getAttributeUses(typeDefinition); if (attributeUses==null || attributeUses.getLength()==0) { if (nodeAttributes!=null && nodeAttributes.size()>0) { log.warn("node ["+name+"] found ["+nodeAttributes.size()+"] attributes, but no declared AttributeUses"); } else { if (log.isTraceEnabled()) log.trace("node ["+name+"] no attributeUses, no attributes"); } } else { if (nodeAttributes==null || nodeAttributes.isEmpty()) { log.warn("node ["+name+"] declared ["+attributeUses.getLength()+"] attributes, but no attributes found"); } else { for (int i=0;i<attributeUses.getLength(); i++) { XSAttributeUse attributeUse=(XSAttributeUse)attributeUses.item(i); XSAttributeDeclaration attributeDeclaration=attributeUse.getAttrDeclaration(); //XSSimpleTypeDefinition attTypeDefinition=attributeDeclaration.getTypeDefinition(); //if (log.isTraceEnabled()) log.trace("node ["+name+"] attTypeDefinition ["+ToStringBuilder.reflectionToString(attTypeDefinition)+"]"); String attName=attributeDeclaration.getName(); if (nodeAttributes.containsKey(attName)) { String value=nodeAttributes.remove(attName); String uri=attributeDeclaration.getNamespace(); String attqname=getQName(uri,attName); String type=null; if (log.isTraceEnabled()) log.trace("node ["+name+"] adding attribute ["+attName+"] value ["+value+"]"); attributes.addAttribute(uri, attName, attqname, type, value); } } } } if (isNil(elementDeclaration, node)) { validatorHandler.startPrefixMapping(XSI_PREFIX_MAPPING, XML_SCHEMA_INSTANCE_NAMESPACE); attributes.addAttribute(XML_SCHEMA_INSTANCE_NAMESPACE, XML_SCHEMA_NIL_ATTRIBUTE, XSI_PREFIX_MAPPING+":"+XML_SCHEMA_NIL_ATTRIBUTE, "xs:boolean", "true"); validatorHandler.startElement(elementNamespace, name, qname, attributes); validatorHandler.endElement(elementNamespace, name, qname); validatorHandler.endPrefixMapping(XSI_PREFIX_MAPPING); } else { validatorHandler.startElement(elementNamespace, name, qname, attributes); handleElementContents(elementDeclaration, node); validatorHandler.endElement(elementNamespace, name, qname); } // if (createdPrefix!=null) { // validatorHandler.endPrefixMapping(createdPrefix); // } }