1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.opensaml.xml.schema.impl;
18
19 import javax.xml.namespace.QName;
20
21 import org.opensaml.xml.XMLObject;
22 import org.opensaml.xml.io.AbstractXMLObjectUnmarshaller;
23 import org.opensaml.xml.io.UnmarshallingException;
24 import org.opensaml.xml.schema.XSAny;
25 import org.opensaml.xml.util.XMLHelper;
26 import org.w3c.dom.Attr;
27
28
29
30
31 public class XSAnyUnmarshaller extends AbstractXMLObjectUnmarshaller {
32
33
34 protected void processChildElement(XMLObject parentXMLObject, XMLObject childXMLObject)
35 throws UnmarshallingException {
36 XSAny xsAny = (XSAny) parentXMLObject;
37
38 xsAny.getUnknownXMLObjects().add(childXMLObject);
39 }
40
41
42 protected void processAttribute(XMLObject xmlObject, Attr attribute) throws UnmarshallingException {
43 XSAny xsAny = (XSAny) xmlObject;
44
45 QName attribQName = XMLHelper.constructQName(attribute.getNamespaceURI(), attribute.getLocalName(), attribute
46 .getPrefix());
47
48 if (attribute.isId()) {
49 xsAny.getUnknownAttributes().registerID(attribQName);
50 }
51
52 xsAny.getUnknownAttributes().put(attribQName, attribute.getValue());
53 }
54
55
56 protected void processElementContent(XMLObject xmlObject, String elementContent) {
57 XSAny xsAny = (XSAny) xmlObject;
58
59 xsAny.setTextContent(elementContent);
60 }
61 }