1 /* 2 * Copyright 2008 Members of the EGEE Collaboration. 3 * Copyright 2008 University Corporation for Advanced Internet Development, Inc. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 package org.opensaml.xml; 19 20 import javax.xml.namespace.QName; 21 22 import org.opensaml.xml.io.UnmarshallingException; 23 import org.opensaml.xml.util.XMLHelper; 24 import org.w3c.dom.Attr; 25 26 /** 27 * AbstractExtensibleXMLObjectUnmarshaller unmarshalls element of type <code>xs:any</code> and with 28 * <code>xs:anyAttribute</code> attributes. 29 */ 30 public abstract class AbstractExtensibleXMLObjectUnmarshaller extends AbstractElementExtensibleXMLObjectUnmarshaller { 31 32 /** Constructor. */ 33 public AbstractExtensibleXMLObjectUnmarshaller(){ 34 super(); 35 } 36 37 /** 38 * Constructor. 39 * 40 * @deprecated no replacement 41 * 42 * @param targetNamespaceURI the namespace URI of either the schema type QName or element QName of the elements this 43 * unmarshaller operates on 44 * @param targetLocalName the local name of either the schema type QName or element QName of the elements this 45 * unmarshaller operates on 46 */ 47 public AbstractExtensibleXMLObjectUnmarshaller(String targetNamespaceURI, String targetLocalName) { 48 super(targetNamespaceURI, targetLocalName); 49 } 50 51 /** 52 * Unmarshalls the <code>xs:anyAttribute</code> attributes. 53 * 54 * {@inheritDoc} 55 */ 56 protected void processAttribute(XMLObject xmlObject, Attr attribute) throws UnmarshallingException { 57 AttributeExtensibleXMLObject anyAttribute = (AttributeExtensibleXMLObject) xmlObject; 58 QName attribQName = XMLHelper.constructQName(attribute.getNamespaceURI(), attribute.getLocalName(), attribute 59 .getPrefix()); 60 if (attribute.isId()) { 61 anyAttribute.getUnknownAttributes().registerID(attribQName); 62 } 63 anyAttribute.getUnknownAttributes().put(attribQName, attribute.getValue()); 64 } 65 66 }