/** * Setup the ID attribute into <code>destElement</code> depending on the <code>isId</code> flag of * an attribute of <code>sourceNode</code>. * * @param sourceNode * @param destDocElement */ public static void propagateIDAttributeSetup(Node sourceNode, Element destElement) { NamedNodeMap nnm = sourceNode.getAttributes(); for (int i = 0; i < nnm.getLength(); i++) { Attr attr = (Attr) nnm.item(i); if (attr.isId()) { destElement.setIdAttribute(attr.getName(), true); break; } } }
public String getAttributeType(int i) { Attr attr = getAttribute(i); if (attr.isId()) { return "ID"; } TypeInfo schemaType = null; try { schemaType = attr.getSchemaTypeInfo(); } catch (Throwable t) { // DOM level 2? schemaType = null; } return (schemaType == null) ? "CDATA" : schemaType.getTypeName() == null ? "CDATA" : schemaType.getTypeName(); }
/** * Process attribute. * * @param samlObject the SAML object * @param attribute the attribute * @throws UnmarshallingException the unmarshalling exception */ protected final void processAttribute(final XMLObject samlObject, final Attr attribute) throws UnmarshallingException { final RequestedAttribute requestedAttr = (RequestedAttribute) samlObject; if (attribute.getLocalName().equals(RequestedAttribute.NAME_ATTRIB_NAME)) { requestedAttr.setName(attribute.getValue()); } else if (attribute.getLocalName().equals(RequestedAttribute.NAME_FORMAT_ATTR)) { requestedAttr.setNameFormat(attribute.getValue()); } else if (attribute.getLocalName().equals(RequestedAttribute.FRIENDLY_NAME_ATT)) { requestedAttr.setFriendlyName(attribute.getValue()); } else if (attribute.getLocalName().equals(RequestedAttribute.IS_REQUIRED_ATTR)) { requestedAttr.setIsRequired(attribute.getValue()); } else { final QName attribQName = XMLHelper.getNodeQName(attribute); if (attribute.isId()) { requestedAttr.getUnknownAttributes().registerID(attribQName); } requestedAttr.getUnknownAttributes().put(attribQName, attribute.getValue()); } }
/** {@inheritDoc} */ protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException { EntityDescriptor entityDescriptor = (EntityDescriptor) samlObject; if (attribute.getLocalName().equals(EntityDescriptor.ENTITY_ID_ATTRIB_NAME)) { entityDescriptor.setEntityID(attribute.getValue()); } else if (attribute.getLocalName().equals(EntityDescriptor.ID_ATTRIB_NAME)) { entityDescriptor.setID(attribute.getValue()); attribute.getOwnerElement().setIdAttributeNode(attribute, true); } else if (attribute.getLocalName().equals(TimeBoundSAMLObject.VALID_UNTIL_ATTRIB_NAME) && !DatatypeHelper.isEmpty(attribute.getValue())) { entityDescriptor.setValidUntil( new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC())); } else if (attribute.getLocalName().equals(CacheableSAMLObject.CACHE_DURATION_ATTRIB_NAME)) { entityDescriptor.setCacheDuration(XMLHelper.durationToLong(attribute.getValue())); } else { QName attribQName = XMLHelper.getNodeQName(attribute); if (attribute.isId()) { entityDescriptor.getUnknownAttributes().registerID(attribQName); } entityDescriptor.getUnknownAttributes().put(attribQName, attribute.getValue()); } }
public String getType(String qName) { Attr attr = (Attr) attrs.getNamedItem(qName); return attr.isId() ? "ID" : "CDATA"; }
public String getType(String uri, String localName) { Attr attr = (Attr) attrs.getNamedItemNS(uri, localName); return attr.isId() ? "ID" : "CDATA"; }
public String getType(int index) { Attr attr = (Attr) attrs.item(index); return attr.isId() ? "ID" : "CDATA"; }