[java-oidc-common] branch main updated: JOIDC-36 - Improvement suggestions for SAML metadata schema

Scott Cantor cantor.2 at osu.edu
Thu Mar 4 20:31:36 UTC 2021


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch main
in repository java-oidc-common.

View the commit online:
http://git.shibboleth.net/view/?p=java-oidc-common.git;a=commit;h=6e0cb61a54acb416ff66bd26a38f6ec9f36a78e3

The following commit(s) were added to refs/heads/main by this push:
       new  6e0cb61   JOIDC-36 - Improvement suggestions for SAML metadata schema
6e0cb61 is described below

commit 6e0cb61a54acb416ff66bd26a38f6ec9f36a78e3
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Mar 4 15:31:30 2021 -0500

    JOIDC-36 - Improvement suggestions for SAML metadata schema
    
    https://issues.shibboleth.net/jira/browse/JOIDC-36
    
    Moved singleton content to XML Attributes.
    Renamed non-KeyInfo elements and attributes to match OIDC/OAuth specs.
---
 .../impl/ClientInformationNodeProcessor.java       |  68 ++----
 .../EntitiesDescriptor-with-oidcmd-jwkdata.xml     |  51 ++--
 .../impl/EntitiesDescriptor-with-oidcmd.xml        |  51 ++--
 .../oidc/saml/xmlobject/ApplicationType.java       |  38 ---
 .../shibboleth/oidc/saml/xmlobject/ClientUri.java  |  38 ---
 .../oidc/saml/xmlobject/DefaultAcrValue.java       |   2 +-
 .../shibboleth/oidc/saml/xmlobject/GrantType.java  |  38 ---
 .../xmlobject/IdTokenEncryptedResponseAlg.java     |  38 ---
 .../xmlobject/IdTokenEncryptedResponseEnc.java     |  38 ---
 .../saml/xmlobject/IdTokenSignedResponseAlg.java   |  38 ---
 .../oidc/saml/xmlobject/InitiateLoginUri.java      |  38 ---
 .../oidc/saml/xmlobject/OAuthRPExtensions.java     | 243 +++++++++++++------
 .../oidc/saml/xmlobject/PostLogoutRedirectUri.java |   2 +-
 .../saml/xmlobject/RequestObjectEncryptionAlg.java |  38 ---
 .../saml/xmlobject/RequestObjectEncryptionEnc.java |  38 ---
 .../saml/xmlobject/RequestObjectSigningAlg.java    |  38 ---
 .../shibboleth/oidc/saml/xmlobject/RequestUri.java |   2 +-
 .../oidc/saml/xmlobject/ResponseType.java          |  38 ---
 .../net/shibboleth/oidc/saml/xmlobject/Scope.java  |  38 ---
 .../oidc/saml/xmlobject/SectorIdentifierUri.java   |  38 ---
 .../shibboleth/oidc/saml/xmlobject/SoftwareId.java |  38 ---
 .../oidc/saml/xmlobject/SoftwareVersion.java       |  38 ---
 .../saml/xmlobject/TokenEndpointAuthMethod.java    |  38 ---
 .../xmlobject/TokenEndpointAuthSigningAlg.java     |  38 ---
 .../xmlobject/UserInfoEncryptedResponseAlg.java    |  38 ---
 .../xmlobject/UserInfoEncryptedResponseEnc.java    |  38 ---
 .../saml/xmlobject/UserInfoSignedResponseAlg.java  |  38 ---
 .../resources/schema/saml-metadata-ext-oidcmd.xsd  |  83 +++----
 .../xmlobject/impl/ApplicationTypeBuilder.java     |  48 ----
 .../saml/xmlobject/impl/ApplicationTypeImpl.java   |  38 ---
 .../xmlobject/impl/ApplicationTypeMarshaller.java  |  27 ---
 .../impl/ApplicationTypeUnmarshaller.java          |  27 ---
 .../oidc/saml/xmlobject/impl/ClientUriBuilder.java |  47 ----
 .../oidc/saml/xmlobject/impl/ClientUriImpl.java    |  37 ---
 .../saml/xmlobject/impl/ClientUriMarshaller.java   |  27 ---
 .../saml/xmlobject/impl/ClientUriUnmarshaller.java |  27 ---
 .../oidc/saml/xmlobject/impl/GrantTypeBuilder.java |  47 ----
 .../oidc/saml/xmlobject/impl/GrantTypeImpl.java    |  38 ---
 .../saml/xmlobject/impl/GrantTypeMarshaller.java   |  27 ---
 .../saml/xmlobject/impl/GrantTypeUnmarshaller.java |  27 ---
 .../impl/IdTokenEncryptedResponseAlgBuilder.java   |  48 ----
 .../impl/IdTokenEncryptedResponseAlgImpl.java      |  39 ---
 .../IdTokenEncryptedResponseAlgMarshaller.java     |  28 ---
 .../IdTokenEncryptedResponseAlgUnmarshaller.java   |  28 ---
 .../impl/IdTokenEncryptedResponseEncBuilder.java   |  48 ----
 .../impl/IdTokenEncryptedResponseEncImpl.java      |  39 ---
 .../IdTokenEncryptedResponseEncMarshaller.java     |  28 ---
 .../IdTokenEncryptedResponseEncUnmarshaller.java   |  28 ---
 .../impl/IdTokenSignedResponseAlgBuilder.java      |  48 ----
 .../impl/IdTokenSignedResponseAlgImpl.java         |  38 ---
 .../impl/IdTokenSignedResponseAlgMarshaller.java   |  27 ---
 .../impl/IdTokenSignedResponseAlgUnmarshaller.java |  27 ---
 .../xmlobject/impl/InitiateLoginUriBuilder.java    |  48 ----
 .../saml/xmlobject/impl/InitiateLoginUriImpl.java  |  38 ---
 .../xmlobject/impl/InitiateLoginUriMarshaller.java |  27 ---
 .../impl/InitiateLoginUriUnmarshaller.java         |  27 ---
 .../saml/xmlobject/impl/OAuthRPExtensionsImpl.java | 265 ++++++++-------------
 .../impl/OAuthRPExtensionsMarshaller.java          | 104 +++++++-
 .../impl/OAuthRPExtensionsUnmarshaller.java        | 102 ++++----
 .../impl/RequestObjectEncryptionAlgBuilder.java    |  48 ----
 .../impl/RequestObjectEncryptionAlgImpl.java       |  39 ---
 .../impl/RequestObjectEncryptionAlgMarshaller.java |  27 ---
 .../RequestObjectEncryptionAlgUnmarshaller.java    |  28 ---
 .../impl/RequestObjectEncryptionEncBuilder.java    |  48 ----
 .../impl/RequestObjectEncryptionEncImpl.java       |  39 ---
 .../impl/RequestObjectEncryptionEncMarshaller.java |  27 ---
 .../RequestObjectEncryptionEncUnmarshaller.java    |  28 ---
 .../impl/RequestObjectSigningAlgBuilder.java       |  48 ----
 .../impl/RequestObjectSigningAlgImpl.java          |  38 ---
 .../impl/RequestObjectSigningAlgMarshaller.java    |  27 ---
 .../impl/RequestObjectSigningAlgUnmarshaller.java  |  27 ---
 .../saml/xmlobject/impl/ResponseTypeBuilder.java   |  47 ----
 .../oidc/saml/xmlobject/impl/ResponseTypeImpl.java |  37 ---
 .../xmlobject/impl/ResponseTypeMarshaller.java     |  27 ---
 .../xmlobject/impl/ResponseTypeUnmarshaller.java   |  27 ---
 .../oidc/saml/xmlobject/impl/ScopeBuilder.java     |  47 ----
 .../oidc/saml/xmlobject/impl/ScopeImpl.java        |  37 ---
 .../oidc/saml/xmlobject/impl/ScopeMarshaller.java  |  27 ---
 .../saml/xmlobject/impl/ScopeUnmarshaller.java     |  27 ---
 .../xmlobject/impl/SectorIdentifierUriBuilder.java |  48 ----
 .../xmlobject/impl/SectorIdentifierUriImpl.java    |  38 ---
 .../impl/SectorIdentifierUriMarshaller.java        |  27 ---
 .../impl/SectorIdentifierUriUnmarshaller.java      |  27 ---
 .../saml/xmlobject/impl/SoftwareIdBuilder.java     |  47 ----
 .../oidc/saml/xmlobject/impl/SoftwareIdImpl.java   |  37 ---
 .../saml/xmlobject/impl/SoftwareIdMarshaller.java  |  27 ---
 .../xmlobject/impl/SoftwareIdUnmarshaller.java     |  27 ---
 .../xmlobject/impl/SoftwareVersionBuilder.java     |  48 ----
 .../saml/xmlobject/impl/SoftwareVersionImpl.java   |  38 ---
 .../xmlobject/impl/SoftwareVersionMarshaller.java  |  27 ---
 .../impl/SoftwareVersionUnmarshaller.java          |  27 ---
 .../impl/TokenEndpointAuthMethodBuilder.java       |  48 ----
 .../impl/TokenEndpointAuthMethodImpl.java          |  38 ---
 .../impl/TokenEndpointAuthMethodMarshaller.java    |  27 ---
 .../impl/TokenEndpointAuthMethodUnmarshaller.java  |  27 ---
 .../impl/TokenEndpointAuthSigningAlgBuilder.java   |  48 ----
 .../impl/TokenEndpointAuthSigningAlgImpl.java      |  39 ---
 .../TokenEndpointAuthSigningAlgMarshaller.java     |  28 ---
 .../TokenEndpointAuthSigningAlgUnmarshaller.java   |  28 ---
 .../impl/UserInfoEncryptedResponseAlgBuilder.java  |  48 ----
 .../impl/UserInfoEncryptedResponseAlgImpl.java     |  39 ---
 .../UserInfoEncryptedResponseAlgMarshaller.java    |  28 ---
 .../UserInfoEncryptedResponseAlgUnmarshaller.java  |  28 ---
 .../impl/UserInfoEncryptedResponseEncBuilder.java  |  48 ----
 .../impl/UserInfoEncryptedResponseEncImpl.java     |  39 ---
 .../UserInfoEncryptedResponseEncMarshaller.java    |  28 ---
 .../UserInfoEncryptedResponseEncUnmarshaller.java  |  28 ---
 .../impl/UserInfoSignedResponseAlgBuilder.java     |  48 ----
 .../impl/UserInfoSignedResponseAlgImpl.java        |  39 ---
 .../impl/UserInfoSignedResponseAlgMarshaller.java  |  27 ---
 .../UserInfoSignedResponseAlgUnmarshaller.java     |  28 ---
 .../resources/saml2-metadata-oidcmd-config.xml     | 128 +---------
 .../saml/xmlobject/impl/ApplicationTypeTest.java   |  48 ----
 .../oidc/saml/xmlobject/impl/ClientUriTest.java    |  48 ----
 .../oidc/saml/xmlobject/impl/GrantTypeTest.java    |  48 ----
 .../impl/IdTokenEncryptedResponseAlgTest.java      |  48 ----
 .../impl/IdTokenEncryptedResponseEncTest.java      |  48 ----
 .../impl/IdTokenSignedResponseAlgTest.java         |  48 ----
 .../saml/xmlobject/impl/InitiateLoginUriTest.java  |  48 ----
 .../saml/xmlobject/impl/OAuthRPExtensionsTest.java | 117 ++++-----
 .../impl/RequestObjectEncryptionAlgTest.java       |  48 ----
 .../impl/RequestObjectEncryptionEncTest.java       |  48 ----
 .../impl/RequestObjectSigningAlgTest.java          |  48 ----
 .../oidc/saml/xmlobject/impl/ResponseTypeTest.java |  48 ----
 .../oidc/saml/xmlobject/impl/ScopeTest.java        |  48 ----
 .../xmlobject/impl/SectorIdentifierUriTest.java    |  48 ----
 .../oidc/saml/xmlobject/impl/SoftwareIdTest.java   |  48 ----
 .../saml/xmlobject/impl/SoftwareVersionTest.java   |  48 ----
 .../impl/TokenEndpointAuthMethodTest.java          |  48 ----
 .../impl/TokenEndpointAuthSigningAlgTest.java      |  48 ----
 .../impl/UserInfoEncryptedResponseAlgTest.java     |  48 ----
 .../impl/UserInfoEncryptedResponseEncTest.java     |  48 ----
 .../impl/UserInfoSignedResponseAlgTest.java        |  48 ----
 .../oidc/saml/xmlobject/impl/ApplicationType.xml   |   2 -
 .../oidc/saml/xmlobject/impl/ClientUri.xml         |   2 -
 .../oidc/saml/xmlobject/impl/DefaultAcrValue.xml   |   2 +-
 .../oidc/saml/xmlobject/impl/GrantType.xml         |   2 -
 .../xmlobject/impl/IdTokenEncryptedResponseAlg.xml |   2 -
 .../xmlobject/impl/IdTokenEncryptedResponseEnc.xml |   2 -
 .../xmlobject/impl/IdTokenSignedResponseAlg.xml    |   2 -
 .../oidc/saml/xmlobject/impl/InitiateLoginUri.xml  |   2 -
 .../oidc/saml/xmlobject/impl/OAuthRPExtensions.xml |  55 +++--
 .../xmlobject/impl/OAuthRPExtensions_ordered.xml   |  55 +++--
 .../saml/xmlobject/impl/PostLogoutRedirectUri.xml  |   2 +-
 .../xmlobject/impl/RequestObjectEncryptionAlg.xml  |   2 -
 .../xmlobject/impl/RequestObjectEncryptionEnc.xml  |   2 -
 .../xmlobject/impl/RequestObjectSigningAlg.xml     |   2 -
 .../oidc/saml/xmlobject/impl/RequestUri.xml        |   2 +-
 .../oidc/saml/xmlobject/impl/ResponseType.xml      |   2 -
 .../shibboleth/oidc/saml/xmlobject/impl/Scope.xml  |   2 -
 .../saml/xmlobject/impl/SectorIdentifierUri.xml    |   2 -
 .../oidc/saml/xmlobject/impl/SoftwareId.xml        |   2 -
 .../oidc/saml/xmlobject/impl/SoftwareVersion.xml   |   2 -
 .../xmlobject/impl/TokenEndpointAuthMethod.xml     |   2 -
 .../xmlobject/impl/TokenEndpointAuthSigningAlg.xml |   2 -
 .../impl/UserInfoEncryptedResponseAlg.xml          |   2 -
 .../impl/UserInfoEncryptedResponseEnc.xml          |   2 -
 .../xmlobject/impl/UserInfoSignedResponseAlg.xml   |   2 -
 158 files changed, 618 insertions(+), 5288 deletions(-)

diff --git a/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/impl/ClientInformationNodeProcessor.java b/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/impl/ClientInformationNodeProcessor.java
index a5340a7..3b939d0 100644
--- a/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/impl/ClientInformationNodeProcessor.java
+++ b/oidc-common-metadata-impl/src/main/java/net/shibboleth/oidc/metadata/impl/ClientInformationNodeProcessor.java
@@ -193,11 +193,11 @@ public class ClientInformationNodeProcessor implements MetadataNodeProcessor {
             metadata.setResponseTypes(parseResponseTypes(extensions));
             metadata.setScope(parseScopes(extensions));
             metadata.setSectorIDURI(getSingleURIValue(extensions.getSectorIdentifierUri()));
-            final String softwareId = getSingleValue(extensions.getSoftwareId());
+            final String softwareId = extensions.getSoftwareId();
             if (softwareId != null) {
                 metadata.setSoftwareID(new SoftwareID(softwareId));
             }
-            final String softwareVersion = getSingleValue(extensions.getSoftwareVersion());
+            final String softwareVersion = extensions.getSoftwareVersion();
             if (softwareVersion != null) {
                 metadata.setSoftwareVersion(new SoftwareVersion(softwareVersion));
             }
@@ -333,7 +333,7 @@ public class ClientInformationNodeProcessor implements MetadataNodeProcessor {
      */
     protected @Nullable ClientAuthenticationMethod parseClientAuthenticationMethod(
             final @Nonnull OAuthRPExtensions extensions) {
-        final String metadataValue = getSingleValue(extensions.getTokenEndpointAuthMethod());
+        final String metadataValue = StringSupport.trimOrNull(extensions.getTokenEndpointAuthMethod());
         if (metadataValue == null) {
             return null;
         }
@@ -348,7 +348,7 @@ public class ClientInformationNodeProcessor implements MetadataNodeProcessor {
      * otherwise.
      */
     protected @Nonnull ApplicationType parseApplicationType(final @Nonnull OAuthRPExtensions extensions) {
-        final String metadataValue = getSingleValue(extensions.getApplicationType());
+        final String metadataValue = StringSupport.trimOrNull(extensions.getApplicationType());
         if (ApplicationType.NATIVE.toString().equalsIgnoreCase(metadataValue)) {
             return ApplicationType.NATIVE;
         }
@@ -396,7 +396,7 @@ public class ClientInformationNodeProcessor implements MetadataNodeProcessor {
     protected @Nonnull List<ACR> parseDefaultAcrValues(final @Nonnull OAuthRPExtensions extensions) {
         final List<ACR> acrs = new ArrayList<>();
         for (final DefaultAcrValue acr : extensions.getDefaultAcrValues()) {
-            final String value = getSingleValue(acr);
+            final String value = StringSupport.trimOrNull(acr.getValue());
             if (value != null) {
                 acrs.add(new ACR(value));
             }
@@ -412,11 +412,9 @@ public class ClientInformationNodeProcessor implements MetadataNodeProcessor {
      */
     protected @Nonnull Set<GrantType> parseGrantTypes(final @Nonnull OAuthRPExtensions extensions) {
         final Set<GrantType> grantTypes = new HashSet<>();
-        for (final net.shibboleth.oidc.saml.xmlobject.GrantType grantType : extensions.getGrantTypes()) {
-            final Collection<String> values = getListValues(grantType);
-            for (final String value : values) {
-                grantTypes.add(new GrantType(value));
-            }
+        final Collection<String> values = getListValues(extensions.getGrantTypes());
+        for (final String value : values) {
+            grantTypes.add(new GrantType(value));
         }
         return grantTypes;
     }
@@ -429,11 +427,9 @@ public class ClientInformationNodeProcessor implements MetadataNodeProcessor {
      */
     protected @Nonnull Set<ResponseType> parseResponseTypes(final @Nonnull OAuthRPExtensions extensions) {
         final Set<ResponseType> responseTypes = new HashSet<>();
-        for (final net.shibboleth.oidc.saml.xmlobject.ResponseType responseType : extensions.getResponseTypes()) {
-            final Collection<String> values = getListValues(responseType);
-            for (final String value : values) {
-                responseTypes.add(new ResponseType(value));
-            }
+        final Collection<String> values = getListValues(extensions.getResponseTypes());
+        for (final String value : values) {
+            responseTypes.add(new ResponseType(value));
         }
         return responseTypes;
     }
@@ -446,11 +442,9 @@ public class ClientInformationNodeProcessor implements MetadataNodeProcessor {
      */
     protected @Nonnull Scope parseScopes(final @Nonnull OAuthRPExtensions extensions) {
         final Scope scope = new Scope();
-        for (final net.shibboleth.oidc.saml.xmlobject.Scope singleScope : extensions.getScopes()) {
-            final Collection<String> values = getListValues(singleScope);
-            for (final String value : values) {
-                scope.add(value);
-            }
+        final Collection<String> values = getListValues(extensions.getScopes());
+        for (final String value : values) {
+            scope.add(value);
         }
         return scope;
     }
@@ -458,11 +452,10 @@ public class ClientInformationNodeProcessor implements MetadataNodeProcessor {
     /**
      * Parse the {@link JWEAlgorithm} from the given metadata value.
      * 
-     * @param metadataValue The metadata value to parse from.
+     * @param value The metadata value to parse from.
      * @return The JWE algorithm, or <code>null</code> if no value was found.
      */
-    protected @Nullable JWEAlgorithm parseJweAlgorithm(final @Nullable MetadataValueSAMLObject metadataValue) {
-        final String value = getSingleValue(metadataValue);
+    protected @Nullable JWEAlgorithm parseJweAlgorithm(final @Nullable String value) {
         if (value != null) {
             return new JWEAlgorithm(value);
         }
@@ -472,11 +465,10 @@ public class ClientInformationNodeProcessor implements MetadataNodeProcessor {
     /**
      * Parse the {@link JWSAlgorithm} from the given metadata value.
      * 
-     * @param metadataValue The metadata value to parse from.
+     * @param value The metadata value to parse from.
      * @return The JWS algorithm, or <code>null</code> if no value was found.
      */
-    protected @Nullable JWSAlgorithm parseJwsAlgorithm(final @Nullable MetadataValueSAMLObject metadataValue) {
-        final String value = getSingleValue(metadataValue);
+    protected @Nullable JWSAlgorithm parseJwsAlgorithm(final @Nullable String value) {
         if (value != null) {
             return new JWSAlgorithm(value);
         }
@@ -486,11 +478,10 @@ public class ClientInformationNodeProcessor implements MetadataNodeProcessor {
     /**
      * Parse the {@link EncryptionMethod} from the given metadata value.
      * 
-     * @param metadataValue The metadata value to parse from.
+     * @param value The metadata value to parse from.
      * @return The encryption method, or <code>null</code> if no value was found.
      */
-    protected @Nullable EncryptionMethod parseEncryptionMethod(final @Nullable MetadataValueSAMLObject metadataValue) {
-        final String value = getSingleValue(metadataValue);
+    protected @Nullable EncryptionMethod parseEncryptionMethod(final @Nullable String value) {
         if (value != null) {
             return new EncryptionMethod(value);
         }
@@ -533,19 +524,6 @@ public class ClientInformationNodeProcessor implements MetadataNodeProcessor {
         }
         return uris;
     }
-
-    /**
-     * Gets the trimmed {@link String} value from the given metadata value object.
-     * 
-     * @param metadataValue The object to get the value from.
-     * @return The value as trimmed value, or <code>null</code> if no value was found.
-     */
-    protected @Nullable String getSingleValue(final @Nullable MetadataValueSAMLObject metadataValue) {
-        if (metadataValue != null) {
-            return StringSupport.trimOrNull(metadataValue.getValue());
-        }
-        return null;
-    }
     
     /**
      * Parse an XML value list from a metadata value object into a collection of strings.
@@ -555,9 +533,9 @@ public class ClientInformationNodeProcessor implements MetadataNodeProcessor {
      * @return possibly empty value collection
      */
     @Nonnull @NonnullElements
-    protected Collection<String> getListValues(final @Nullable MetadataValueSAMLObject metadataValue) {
+    protected Collection<String> getListValues(final @Nullable String metadataValue) {
         if (metadataValue != null) {
-            return StringSupport.stringToList(metadataValue.getValue(), " \t\n\r");
+            return StringSupport.stringToList(metadataValue, " \t\n\r");
         }
         return Collections.emptyList();
     }
@@ -569,7 +547,7 @@ public class ClientInformationNodeProcessor implements MetadataNodeProcessor {
      * @return The value as URI if it was successfully parsed, <code>null</code> otherwise.
      */
     protected @Nullable URI getSingleURIValue(final @Nonnull MetadataValueSAMLObject metadataValue) {
-        return getSingleURIValue(getSingleValue(metadataValue));
+        return getSingleURIValue(metadataValue);
     }
     
     /**
diff --git a/oidc-common-metadata-impl/src/test/resources/net/shibboleth/oidc/metadata/impl/EntitiesDescriptor-with-oidcmd-jwkdata.xml b/oidc-common-metadata-impl/src/test/resources/net/shibboleth/oidc/metadata/impl/EntitiesDescriptor-with-oidcmd-jwkdata.xml
index 4924911..8a27032 100644
--- a/oidc-common-metadata-impl/src/test/resources/net/shibboleth/oidc/metadata/impl/EntitiesDescriptor-with-oidcmd-jwkdata.xml
+++ b/oidc-common-metadata-impl/src/test/resources/net/shibboleth/oidc/metadata/impl/EntitiesDescriptor-with-oidcmd-jwkdata.xml
@@ -5,32 +5,31 @@
 
         <md:SPSSODescriptor xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" protocolSupportEnumeration="http://openid.net/specs/openid-connect-core-1_0.html">
             <md:Extensions>
-                <oidcmd:OAuthRPExtensions>
-                    <oidcmd:ApplicationType>web</oidcmd:ApplicationType>
-                    <oidcmd:ClientUri>https://example.org/clientUri</oidcmd:ClientUri>
-                    <oidcmd:DefaultAcrValue>password</oidcmd:DefaultAcrValue>
-                    <oidcmd:DefaultAcrValue>mfa</oidcmd:DefaultAcrValue>
-                    <oidcmd:GrantType>authorization_code</oidcmd:GrantType>
-                    <oidcmd:IdTokenEncryptedResponseAlg>A256KW</oidcmd:IdTokenEncryptedResponseAlg>
-                    <oidcmd:IdTokenEncryptedResponseEnc>A256GCM</oidcmd:IdTokenEncryptedResponseEnc>
-                    <oidcmd:IdTokenSignedResponseAlg>RS512</oidcmd:IdTokenSignedResponseAlg>
-                    <oidcmd:InitiateLoginUri>https://example.org/initiateLogin</oidcmd:InitiateLoginUri>
-                    <oidcmd:PostLogoutRedirectUri>https://example.org/postLogout</oidcmd:PostLogoutRedirectUri>
-                    <oidcmd:RequestObjectEncryptionAlg>A128KW</oidcmd:RequestObjectEncryptionAlg>
-                    <oidcmd:RequestObjectEncryptionEnc>A128GCM</oidcmd:RequestObjectEncryptionEnc>
-                    <oidcmd:RequestObjectSigningAlg>RS256</oidcmd:RequestObjectSigningAlg>
-                    <oidcmd:RequestUri>https://example.org/request</oidcmd:RequestUri>
-                    <oidcmd:ResponseType>code id_token</oidcmd:ResponseType>
-                    <oidcmd:Scope>openid</oidcmd:Scope>
-                    <oidcmd:Scope>profile</oidcmd:Scope>
-                    <oidcmd:SoftwareId>mockSoftwareId</oidcmd:SoftwareId>
-                    <oidcmd:SoftwareVersion>mockSoftwareVersion</oidcmd:SoftwareVersion>
-                    <oidcmd:TokenEndpointAuthMethod>client_secret_basic</oidcmd:TokenEndpointAuthMethod>
-                    <oidcmd:TokenEndpointAuthSigningAlg>RS512</oidcmd:TokenEndpointAuthSigningAlg>
-                    <oidcmd:UserInfoEncryptedResponseAlg>A192KW</oidcmd:UserInfoEncryptedResponseAlg>
-                    <oidcmd:SectorIdentifierUri>https://example.org/sectorIdentifier</oidcmd:SectorIdentifierUri>
-                    <oidcmd:UserInfoEncryptedResponseEnc>A192GCM</oidcmd:UserInfoEncryptedResponseEnc>
-                    <oidcmd:UserInfoSignedResponseAlg>RS384</oidcmd:UserInfoSignedResponseAlg>
+                <oidcmd:OAuthRPExtensions
+                    application_type="web"
+                    client_uri="https://example.org/clientUri"
+                    grant_types="authorization_code"
+                    response_types="code id_token"
+                    scopes="openid profile"
+                    initiate_login_uri="https://example.org/initiateLogin"
+                    software_id="mockSoftwareId"
+                    software_version="mockSoftwareVersion"
+                    token_endpoint_auth_method="client_secret_basic"
+                    sector_identifier_uri="https://example.org/sectorIdentifier"
+                    id_token_signed_response_alg="RS512"
+                    id_token_encrypted_response_alg="A256KW"
+                    id_token_encrypted_response_enc="A256GCM"
+                    userinfo_signed_response_alg="RS384"
+                    userinfo_encrypted_response_alg="A192KW"
+                    userinfo_encrypted_response_enc="A192GCM"
+                    request_object_signing_alg="RS256"
+                    request_object_encryption_alg="A128KW"
+                    request_object_encryption_enc="A128GCM"
+                    token_endpoint_auth_signing_alg="RS512">
+                    <oidcmd:default_acr_value>password</oidcmd:default_acr_value>
+                    <oidcmd:default_acr_value>mfa</oidcmd:default_acr_value>
+                    <oidcmd:request_uri>https://example.org/request</oidcmd:request_uri>
+                    <oidcmd:post_logout_redirect_uri>https://example.org/postLogout</oidcmd:post_logout_redirect_uri>
                 </oidcmd:OAuthRPExtensions>
             </md:Extensions>
 
diff --git a/oidc-common-metadata-impl/src/test/resources/net/shibboleth/oidc/metadata/impl/EntitiesDescriptor-with-oidcmd.xml b/oidc-common-metadata-impl/src/test/resources/net/shibboleth/oidc/metadata/impl/EntitiesDescriptor-with-oidcmd.xml
index 9083346..8856606 100644
--- a/oidc-common-metadata-impl/src/test/resources/net/shibboleth/oidc/metadata/impl/EntitiesDescriptor-with-oidcmd.xml
+++ b/oidc-common-metadata-impl/src/test/resources/net/shibboleth/oidc/metadata/impl/EntitiesDescriptor-with-oidcmd.xml
@@ -5,32 +5,31 @@
 
         <md:SPSSODescriptor xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" protocolSupportEnumeration="http://openid.net/specs/openid-connect-core-1_0.html">
             <md:Extensions>
-                <oidcmd:OAuthRPExtensions>
-                    <oidcmd:ApplicationType>web</oidcmd:ApplicationType>
-                    <oidcmd:ClientUri>https://example.org/clientUri</oidcmd:ClientUri>
-                    <oidcmd:DefaultAcrValue>password</oidcmd:DefaultAcrValue>
-                    <oidcmd:DefaultAcrValue>mfa</oidcmd:DefaultAcrValue>
-                    <oidcmd:GrantType>authorization_code</oidcmd:GrantType>
-                    <oidcmd:IdTokenEncryptedResponseAlg>A256KW</oidcmd:IdTokenEncryptedResponseAlg>
-                    <oidcmd:IdTokenEncryptedResponseEnc>A256GCM</oidcmd:IdTokenEncryptedResponseEnc>
-                    <oidcmd:IdTokenSignedResponseAlg>RS512</oidcmd:IdTokenSignedResponseAlg>
-                    <oidcmd:InitiateLoginUri>https://example.org/initiateLogin</oidcmd:InitiateLoginUri>
-                    <oidcmd:PostLogoutRedirectUri>https://example.org/postLogout</oidcmd:PostLogoutRedirectUri>
-                    <oidcmd:RequestObjectEncryptionAlg>A128KW</oidcmd:RequestObjectEncryptionAlg>
-                    <oidcmd:RequestObjectEncryptionEnc>A128GCM</oidcmd:RequestObjectEncryptionEnc>
-                    <oidcmd:RequestObjectSigningAlg>RS256</oidcmd:RequestObjectSigningAlg>
-                    <oidcmd:RequestUri>https://example.org/request</oidcmd:RequestUri>
-                    <oidcmd:ResponseType>code id_token</oidcmd:ResponseType>
-                    <oidcmd:Scope>openid</oidcmd:Scope>
-                    <oidcmd:Scope>profile</oidcmd:Scope>
-                    <oidcmd:SoftwareId>mockSoftwareId</oidcmd:SoftwareId>
-                    <oidcmd:SoftwareVersion>mockSoftwareVersion</oidcmd:SoftwareVersion>
-                    <oidcmd:TokenEndpointAuthMethod>client_secret_basic</oidcmd:TokenEndpointAuthMethod>
-                    <oidcmd:TokenEndpointAuthSigningAlg>RS512</oidcmd:TokenEndpointAuthSigningAlg>
-                    <oidcmd:UserInfoEncryptedResponseAlg>A192KW</oidcmd:UserInfoEncryptedResponseAlg>
-                    <oidcmd:SectorIdentifierUri>https://example.org/sectorIdentifier</oidcmd:SectorIdentifierUri>
-                    <oidcmd:UserInfoEncryptedResponseEnc>A192GCM</oidcmd:UserInfoEncryptedResponseEnc>
-                    <oidcmd:UserInfoSignedResponseAlg>RS384</oidcmd:UserInfoSignedResponseAlg>
+                <oidcmd:OAuthRPExtensions
+                    application_type="web"
+                    client_uri="https://example.org/clientUri"
+                    grant_types="authorization_code"
+                    response_types="code id_token"
+                    scopes="openid profile"
+                    initiate_login_uri="https://example.org/initiateLogin"
+                    software_id="mockSoftwareId"
+                    software_version="mockSoftwareVersion"
+                    token_endpoint_auth_method="client_secret_basic"
+                    sector_identifier_uri="https://example.org/sectorIdentifier"
+                    id_token_signed_response_alg="RS512"
+                    id_token_encrypted_response_alg="A256KW"
+                    id_token_encrypted_response_enc="A256GCM"
+                    userinfo_signed_response_alg="RS384"
+                    userinfo_encrypted_response_alg="A192KW"
+                    userinfo_encrypted_response_enc="A192GCM"
+                    request_object_signing_alg="RS256"
+                    request_object_encryption_alg="A128KW"
+                    request_object_encryption_enc="A128GCM"
+                    token_endpoint_auth_signing_alg="RS512">
+                    <oidcmd:default_acr_value>password</oidcmd:default_acr_value>
+                    <oidcmd:default_acr_value>mfa</oidcmd:default_acr_value>
+                    <oidcmd:request_uri>https://example.org/request</oidcmd:request_uri>
+                    <oidcmd:post_logout_redirect_uri>https://example.org/postLogout</oidcmd:post_logout_redirect_uri>
                 </oidcmd:OAuthRPExtensions>
             </md:Extensions>
 
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ApplicationType.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ApplicationType.java
deleted file mode 100644
index 7fcd972..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ApplicationType.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'ApplicationType'.
- */
-public interface ApplicationType extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "ApplicationType";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME =
-            new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME =
-            new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ClientUri.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ClientUri.java
deleted file mode 100644
index debfede..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ClientUri.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'ClientUri'.
- */
-public interface ClientUri extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "ClientUri";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/DefaultAcrValue.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/DefaultAcrValue.java
index 1b1eb2f..294bbc2 100644
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/DefaultAcrValue.java
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/DefaultAcrValue.java
@@ -25,7 +25,7 @@ import javax.xml.namespace.QName;
 public interface DefaultAcrValue extends MetadataValueSAMLObject {
 
     /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "DefaultAcrValue";
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "default_acr_value";
 
     /** Default element name. */
     public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/GrantType.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/GrantType.java
deleted file mode 100644
index 12fbb32..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/GrantType.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'GrantType'.
- */
-public interface GrantType extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "GrantType";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME =
-            new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME =
-            new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenEncryptedResponseAlg.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenEncryptedResponseAlg.java
deleted file mode 100644
index 3ffd0e3..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenEncryptedResponseAlg.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'IdTokenEncryptedResponseAlg'.
- */
-public interface IdTokenEncryptedResponseAlg extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "IdTokenEncryptedResponseAlg";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenEncryptedResponseEnc.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenEncryptedResponseEnc.java
deleted file mode 100644
index cc54222..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenEncryptedResponseEnc.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'IdTokenEncryptedResponseEnc'.
- */
-public interface IdTokenEncryptedResponseEnc extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "IdTokenEncryptedResponseEnc";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenSignedResponseAlg.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenSignedResponseAlg.java
deleted file mode 100644
index 96d1c01..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/IdTokenSignedResponseAlg.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'IdTokenSignedResponseAlg'.
- */
-public interface IdTokenSignedResponseAlg extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "IdTokenSignedResponseAlg";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/InitiateLoginUri.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/InitiateLoginUri.java
deleted file mode 100644
index 69f845a..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/InitiateLoginUri.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'InitiateLoginUri'.
- */
-public interface InitiateLoginUri extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "InitiateLoginUri";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/OAuthRPExtensions.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/OAuthRPExtensions.java
index da82ce8..eff9478 100644
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/OAuthRPExtensions.java
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/OAuthRPExtensions.java
@@ -19,310 +19,384 @@ package net.shibboleth.oidc.saml.xmlobject;
 
 import java.util.List;
 
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 import javax.xml.namespace.QName;
 
 import org.opensaml.core.xml.AttributeExtensibleXMLObject;
 import org.opensaml.core.xml.ElementExtensibleXMLObject;
 import org.opensaml.saml.common.SAMLObject;
 
+import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+
 /**
  * SAML 2.0 Metadata extension OAuthRPExtensions.
  */
 public interface OAuthRPExtensions extends SAMLObject, AttributeExtensibleXMLObject, ElementExtensibleXMLObject {
     
     /** Local name of the XSI type. */
-    public static final String TYPE_LOCAL_NAME = "OAuthRPExtensions";
+    @Nonnull @NotEmpty public static final String TYPE_LOCAL_NAME = "OAuthRPExtensions";
 
     /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(MetadataValueSAMLObject.SAML20MDOIDCMD_NS, TYPE_LOCAL_NAME,
+    @Nonnull public static final QName TYPE_NAME = new QName(MetadataValueSAMLObject.SAML20MDOIDCMD_NS, TYPE_LOCAL_NAME,
             MetadataValueSAMLObject.SAML20MDOIDCMD_PREFIX);
     
-    /** "defaultMaxAge" attribute's local name. */
-    public static final String DEFAULT_MAX_AGE_ATTRIB_NAME = "defaultMaxAge";
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String TOKEN_ENDPOINT_AUTH_METHOD_ATTRIB_NAME = "token_endpoint_auth_method";
+
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String GRANT_TYPES_ATTRIB_NAME = "grant_types";
+
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String RESPONSE_TYPES_ATTRIB_NAME = "response_types";
+
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String APPLICATION_TYPE_ATTRIB_NAME = "application_type";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String CLIENT_URI_ATTRIB_NAME = "client_uri";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String SCOPES_ATTRIB_NAME = "scopes";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String SOFTWARE_ID_ATTRIB_NAME = "software_id";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String SOFTWARE_VERSION_ATTRIB_NAME = "software_version";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String SECTOR_IDENTIFIER_URI_ATTRIB_NAME = "sector_identifier_uri";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String ID_TOKEN_SIGNED_RESPONSE_ALG_ATTRIB_NAME =
+            "id_token_signed_response_alg";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String ID_TOKEN_ENCRYPTED_RESPONSE_ALG_ATTRIB_NAME =
+            "id_token_encrypted_response_alg";
 
-    /** "requireAuthTime" attribute's local name. */
-    public static final String REQUIRE_AUTH_TIME_ATTRIB_NAME = "requireAuthTime";
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String ID_TOKEN_ENCRYPTED_RESPONSE_ENC_ATTRIB_NAME =
+            "id_token_encrypted_response_enc";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String USERINFO_SIGNED_RESPONSE_ALG_ATTRIB_NAME =
+            "userinfo_signed_response_alg";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String USERINFO_ENCRYPTED_RESPONSE_ALG_ATTRIB_NAME =
+            "userinfo_encrypted_response_alg";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String USERINFO_ENCRYPTED_RESPONSE_ENC_ATTRIB_NAME =
+            "userinfo_encrypted_response_enc";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String REQUEST_OBJECT_SIGNING_ALG_ATTRIB_NAME =
+            "request_object_signing_alg";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String REQUEST_OBJECT_ENCRYPTION_ALG_ATTRIB_NAME =
+            "request_object_encryption_alg";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String REQUEST_OBJECT_ENCRYPTION_ENC_ATTRIB_NAME =
+            "request_object_encryption_enc";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String TOKEN_ENDPOINT_AUTH_SIGNING_ALG_ATTRIB_NAME =
+            "token_endpoint_auth_signing_alg";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String INITIATE_LOGIN_URI_ATTRIB_NAME = "initiate_login_uri";
+    
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String DEFAULT_MAX_AGE_ATTRIB_NAME = "default_max_age";
+
+    /** Attribute local name. */
+    @Nonnull @NotEmpty public static final String REQUIRE_AUTH_TIME_ATTRIB_NAME = "require_auth_time";
     
     /**
      * Get the token endpoint authentication method.
      * 
-     * @return The token endpoint authentication method.
+     * @return token endpoint authentication method
      */
-    public TokenEndpointAuthMethod getTokenEndpointAuthMethod();
+    @Nullable public String getTokenEndpointAuthMethod();
     
     /**
      * Set the token endpoint authentication method.
      * 
      * @param method The token endpoint authentication method.
      */
-    public void setTokenEndpointAuthMethod(final TokenEndpointAuthMethod method);
+    public void setTokenEndpointAuthMethod(@Nullable final String method);
+    
+    /**
+     * Get the whitespace-delimited list of response types.
+     * 
+     * @return list of response types
+     */
+    @Nullable public String getResponseTypes();
     
     /**
-     * Get the list of response types.
+     * Set the whitespace-delimited list of response types.
      * 
-     * @return The list of response types.
+     * @param types response types
      */
-    public List<ResponseType> getResponseTypes();
+    public void setResponseTypes(@Nullable final String types);
     
     /**
-     * Get the list of grant types.
+     * Get the whitespace-delimited list of grant types.
      * 
-     * @return The list of grant types.
+     * @return list of grant types
      */
-    public List<GrantType> getGrantTypes();
+    @Nullable public String getGrantTypes();
     
+    /**
+     * Set the whitespace-delimited list of grant types.
+     * 
+     * @param types grant types
+     */
+    public void setGrantTypes(@Nullable final String types);
+
     /**
      * Get the application type.
      * 
      * @return The application type.
      */
-    public ApplicationType getApplicationType();
+    @Nullable public String getApplicationType();
     
     /**
      * Set the application type.
      * 
      * @param type The application type.
      */
-    public void setApplicationType(final ApplicationType type);
+    public void setApplicationType(@Nullable final String type);
 
     /**
      * Get the client URI.
      * 
-     * @return The client URI.
+     * @return The client URI
      */
-    public ClientUri getClientUri();
+    @Nullable public String getClientUri();
     
     /**
      * Set the client URI.
      * 
      * @param uri The client URI.
      */
-    public void setClientUri(final ClientUri uri);
+    public void setClientUri(@Nullable final String uri);
     
     /**
-     * Get the list of scopes.
+     * Get the whitespace-delimited list of scopes.
      * 
-     * @return The list of scopes.
+     * @return list of scopes
      */
-    public List<Scope> getScopes();
+    @Nullable public String getScopes();
+    
+    /**
+     * Set the whitespace-delimited list of scopes.
+     * 
+     * @param scopes the scopes
+     */
+    public void setScopes(@Nullable final String scopes);
     
     /**
      * Get the software identifier.
      * 
-     * @return The software identifier.
+     * @return software identifier
      */
-    public SoftwareId getSoftwareId();
+    @Nullable public String getSoftwareId();
     
     /**
      * Set the software identifier.
      * 
      * @param id The software identifier.
      */
-    public void setSoftwareId(final SoftwareId id);
+    public void setSoftwareId(@Nullable final String id);
     
     /**
      * Get the software version.
      * 
      * @return The software version.
      */
-    public SoftwareVersion getSoftwareVersion();
+    @Nullable public String getSoftwareVersion();
     
     /**
      * Set the software version.
      * 
      * @param version The software version.
      */
-    public void setSoftwareVersion(final SoftwareVersion version);
+    public void setSoftwareVersion(@Nullable final String version);
     
     /**
      * Get the sector identifier URI.
      * 
      * @return he sector identifier URI.
      */
-    public SectorIdentifierUri getSectorIdentifierUri();
+    @Nullable public String getSectorIdentifierUri();
     
     /**
      * Set the sector identifier URI.
      * 
      * @param uri The sector identifier URI.
      */
-    public void setSectorIdentifierUri(final SectorIdentifierUri uri);
+    public void setSectorIdentifierUri(@Nullable final String uri);
 
     /**
      * Get the JWS alg algorithm for ID token signature.
      * 
      * @return The JWS alg algorithm for ID token signature.
      */
-    public IdTokenSignedResponseAlg getIdTokenSignedResponseAlg();
+    @Nullable public String getIdTokenSignedResponseAlg();
     
     /**
      * Set the JWS alg algorithm for ID token signature.
      * 
      * @param algorithm The JWS alg algorithm for ID token signature.
      */
-    public void setIdTokenSignedResponseAlg(final IdTokenSignedResponseAlg algorithm);
+    public void setIdTokenSignedResponseAlg(@Nullable final String algorithm);
 
     /**
      * Get the JWE alg algorithm for ID token encryption.
      * 
      * @return The JWE alg algorithm for ID token encryption.
      */
-    public IdTokenEncryptedResponseAlg getIdTokenEncryptedResponseAlg();
+    @Nullable public String getIdTokenEncryptedResponseAlg();
     
     /**
      * Set the JWE alg algorithm for ID token encryption.
      * 
      * @param algorithm The JWE alg algorithm for ID token encryption.
      */
-    public void setIdTokenEncryptedResponseAlg(final IdTokenEncryptedResponseAlg algorithm);
+    public void setIdTokenEncryptedResponseAlg(@Nullable final String algorithm);
 
     /**
      * Get the JWE enc algorithm for ID token encryption.
      * 
      * @return The JWE enc algorithm for ID token encryption.
      */
-    public IdTokenEncryptedResponseEnc getIdTokenEncryptedResponseEnc();
+    @Nullable public String getIdTokenEncryptedResponseEnc();
     
     /**
      * Set the JWE enc algorithm for ID token encryption.
      * 
      * @param algorithm The JWE enc algorithm for ID token encryption.
      */
-    public void setIdTokenEncryptedResponseEnc(final IdTokenEncryptedResponseEnc algorithm);
+    public void setIdTokenEncryptedResponseEnc(@Nullable final String algorithm);
 
     /**
      * Get the JWS alg algorithm for UserInfo response signature.
      * 
      * @return The JWS alg algorithm for UserInfo response signature.
      */
-    public UserInfoSignedResponseAlg getUserInfoSignedResponseAlg();
+    @Nullable public String getUserInfoSignedResponseAlg();
     
     /**
      * Set the JWS alg algorithm for UserInfo response signature.
      * 
      * @param algorithm The JWS alg algorithm for UserInfo response signature.
      */
-    public void setUserInfoSignedResponseAlg(final UserInfoSignedResponseAlg algorithm);
+    public void setUserInfoSignedResponseAlg(@Nullable final String algorithm);
     
     /**
      * Get the JWE alg algorithm for UserInfo response encryption.
      * 
      * @return The JWE alg algorithm for UserInfo response encryption.
      */
-    public UserInfoEncryptedResponseAlg getUserInfoEncryptedResponseAlg();
+    @Nullable public String getUserInfoEncryptedResponseAlg();
     
     /**
      * Set the JWE alg algorithm for UserInfo response encryption.
      * 
      * @param algorithm The JWE alg algorithm for UserInfo response encryption.
      */
-    public void setUserInfoEncryptedResponseAlg(final UserInfoEncryptedResponseAlg algorithm);
+    public void setUserInfoEncryptedResponseAlg(@Nullable final String algorithm);
 
     /**
      * Get the JWE enc algorithm for UserInfo response encryption.
      * 
      * @return The JWE enc algorithm for UserInfo response encryption.
      */
-    public UserInfoEncryptedResponseEnc getUserInfoEncryptedResponseEnc();
+    @Nullable public String getUserInfoEncryptedResponseEnc();
     
     /**
      * Set the JWE enc algorithm for UserInfo response encryption.
      * 
      * @param algorithm The JWE enc algorithm for UserInfo response encryption.
      */
-    public void setUserInfoEncryptedResponseEnc(final UserInfoEncryptedResponseEnc algorithm);
+    public void setUserInfoEncryptedResponseEnc(@Nullable final String algorithm);
     
     /**
      * Get the JWS alg algorithm for request object signature.
      * 
      * @return The JWS alg algorithm for request object signature.
      */
-    public RequestObjectSigningAlg getRequestObjectSigningAlg();
+    @Nullable public String getRequestObjectSigningAlg();
     
     /**
      * Set the JWS alg algorithm for request object signature.
      * 
      * @param algorithm The JWS alg algorithm for request object signature.
      */
-    public void setRequestObjectSigningAlg(final RequestObjectSigningAlg algorithm);
+    public void setRequestObjectSigningAlg(@Nullable final String algorithm);
     
     /**
      * Get the JWE alg algorithm for request object encryption.
      * 
      * @return The JWE alg algorithm for request object encryption.
      */
-    public RequestObjectEncryptionAlg getRequestObjectEncryptionAlg();
+    @Nullable public String getRequestObjectEncryptionAlg();
     
     /**
      * Set the JWE alg algorithm for request object encryption.
      * 
      * @param algorithm The JWE alg algorithm for request object encryption.
      */
-    public void setRequestObjectEncryptionAlg(final RequestObjectEncryptionAlg algorithm);
+    public void setRequestObjectEncryptionAlg(@Nullable final String algorithm);
 
     /**
      * Get the JWE enc algorithm for request object encryption.
      * 
      * @return The JWE enc algorithm for request object encryption.
      */
-    public RequestObjectEncryptionEnc getRequestObjectEncryptionEnc();
+    @Nullable public String getRequestObjectEncryptionEnc();
     
     /**
      * Set the JWE enc algorithm for request object encryption.
      * 
      * @param algorithm The JWE enc algorithm for request object encryption.
      */
-    public void setRequestObjectEncryptionEnc(final RequestObjectEncryptionEnc algorithm);
+    public void setRequestObjectEncryptionEnc(@Nullable final String algorithm);
     
     /**
      * Get the JWS alg algorithm for token endpoint authentication signature.
      * 
      * @return The JWS alg algorithm for token endpoint authentication signature.
      */
-    public TokenEndpointAuthSigningAlg getTokenEndpointAuthSigningAlg();
+    @Nullable public String getTokenEndpointAuthSigningAlg();
     
     /**
      * Set the JWS alg algorithm for token endpoint authentication signature.
      * 
      * @param algorithm The JWS alg algorithm for token endpoint authentication signature.
      */
-    public void setTokenEndpointAuthSigningAlg(final TokenEndpointAuthSigningAlg algorithm);
-    
-    /**
-     * Get the list of default ACR values.
-     * 
-     * @return The list of default ACR values.
-     */
-    public List<DefaultAcrValue> getDefaultAcrValues();
+    public void setTokenEndpointAuthSigningAlg(@Nullable final String algorithm);
     
     /**
      * Get the URI for initiating login.
      * 
      * @return The URI for initiating login.
      */
-    public InitiateLoginUri getInitiateLoginUri();
+    @Nullable public String getInitiateLoginUri();
     
     /**
      * Set the URI for initiating login.
      * 
      * @param uri The URI for initiating login.
      */
-    public void setInitiateLoginUri(final InitiateLoginUri uri);
-    
-    /**
-     * Get the list of request URIs.
-     * 
-     * @return The list of request URIs.
-     */
-    public List<RequestUri> getRequestUris();
-    
-    /**
-     * Get the list of post logout redirection URIs.
-     * 
-     * @return The list of post logout redirection URIs.
-     */
-    public List<PostLogoutRedirectUri> getPostLogoutRedirectUris();
-    
+    public void setInitiateLoginUri(@Nullable final String uri);
+
     /**
      * Get the value for default max age.
      * 
@@ -351,4 +425,25 @@ public interface OAuthRPExtensions extends SAMLObject, AttributeExtensibleXMLObj
      */
     public void setRequireAuthTime(final boolean flag);
 
+    /**
+     * Get the list of default ACR values.
+     * 
+     * @return The list of default ACR values.
+     */
+    public List<DefaultAcrValue> getDefaultAcrValues();
+
+    /**
+     * Get the list of request URIs.
+     * 
+     * @return The list of request URIs.
+     */
+    public List<RequestUri> getRequestUris();
+    
+    /**
+     * Get the list of post logout redirection URIs.
+     * 
+     * @return The list of post logout redirection URIs.
+     */
+    public List<PostLogoutRedirectUri> getPostLogoutRedirectUris();
+
 }
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/PostLogoutRedirectUri.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/PostLogoutRedirectUri.java
index 1fd1007..3353ce7 100644
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/PostLogoutRedirectUri.java
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/PostLogoutRedirectUri.java
@@ -25,7 +25,7 @@ import javax.xml.namespace.QName;
 public interface PostLogoutRedirectUri extends MetadataValueSAMLObject {
 
     /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "PostLogoutRedirectUri";
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "post_logout_redirect_uri";
 
     /** Default element name. */
     public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectEncryptionAlg.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectEncryptionAlg.java
deleted file mode 100644
index c6a6086..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectEncryptionAlg.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'RequestObjectEncryptionAlg'.
- */
-public interface RequestObjectEncryptionAlg extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "RequestObjectEncryptionAlg";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectEncryptionEnc.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectEncryptionEnc.java
deleted file mode 100644
index 9f23cd0..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectEncryptionEnc.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'RequestObjectEncryptionEnc'.
- */
-public interface RequestObjectEncryptionEnc extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "RequestObjectEncryptionEnc";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectSigningAlg.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectSigningAlg.java
deleted file mode 100644
index 7286ce9..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestObjectSigningAlg.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'RequestObjectSigningAlg'.
- */
-public interface RequestObjectSigningAlg extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "RequestObjectSigningAlg";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestUri.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestUri.java
index 928cd18..c1493ac 100644
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestUri.java
+++ b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/RequestUri.java
@@ -25,7 +25,7 @@ import javax.xml.namespace.QName;
 public interface RequestUri extends MetadataValueSAMLObject {
 
     /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "RequestUri";
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "request_uri";
 
     /** Default element name. */
     public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ResponseType.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ResponseType.java
deleted file mode 100644
index 1521b54..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/ResponseType.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'ResponseType'.
- */
-public interface ResponseType extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "ResponseType";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME =
-            new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME =
-            new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/Scope.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/Scope.java
deleted file mode 100644
index ae85ea5..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/Scope.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'Scope'.
- */
-public interface Scope extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "Scope";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SectorIdentifierUri.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SectorIdentifierUri.java
deleted file mode 100644
index c2a3dc5..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SectorIdentifierUri.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'SectorIdentifierUri'.
- */
-public interface SectorIdentifierUri extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "SectorIdentifierUri";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SoftwareId.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SoftwareId.java
deleted file mode 100644
index e7acec4..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SoftwareId.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'SoftwareId'.
- */
-public interface SoftwareId extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "SoftwareId";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SoftwareVersion.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SoftwareVersion.java
deleted file mode 100644
index 05cd3ee..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/SoftwareVersion.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'SoftwareVersion'.
- */
-public interface SoftwareVersion extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "SoftwareVersion";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/TokenEndpointAuthMethod.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/TokenEndpointAuthMethod.java
deleted file mode 100644
index 0d4da2b..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/TokenEndpointAuthMethod.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'TokenEndpointAuthMethod'.
- */
-public interface TokenEndpointAuthMethod extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "TokenEndpointAuthMethod";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/TokenEndpointAuthSigningAlg.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/TokenEndpointAuthSigningAlg.java
deleted file mode 100644
index 8cead4e..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/TokenEndpointAuthSigningAlg.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'TokenEndpointAuthSigningAlg'.
- */
-public interface TokenEndpointAuthSigningAlg extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "TokenEndpointAuthSigningAlg";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoEncryptedResponseAlg.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoEncryptedResponseAlg.java
deleted file mode 100644
index ea840b0..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoEncryptedResponseAlg.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'UserInfoEncryptedResponseAlg'.
- */
-public interface UserInfoEncryptedResponseAlg extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "UserInfoEncryptedResponseAlg";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoEncryptedResponseEnc.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoEncryptedResponseEnc.java
deleted file mode 100644
index c815a2e..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoEncryptedResponseEnc.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'UserInfoEncryptedResponseEnc'.
- */
-public interface UserInfoEncryptedResponseEnc extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "UserInfoEncryptedResponseEnc";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoSignedResponseAlg.java b/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoSignedResponseAlg.java
deleted file mode 100644
index 475dc09..0000000
--- a/oidc-common-saml-api/src/main/java/net/shibboleth/oidc/saml/xmlobject/UserInfoSignedResponseAlg.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject;
-
-import javax.xml.namespace.QName;
-
-/**
- * SAML2 OIDC metadata extension 'UserInfoSignedResponseAlg'.
- */
-public interface UserInfoSignedResponseAlg extends MetadataValueSAMLObject {
-
-    /** Element name, no namespace. */
-    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "UserInfoSignedResponseAlg";
-
-    /** Default element name. */
-    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-    /** QName of the XSI type. */
-    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
-            SAML20MDOIDCMD_PREFIX);
-
-}
diff --git a/oidc-common-saml-api/src/main/resources/schema/saml-metadata-ext-oidcmd.xsd b/oidc-common-saml-api/src/main/resources/schema/saml-metadata-ext-oidcmd.xsd
index 570cf06..d60f767 100644
--- a/oidc-common-saml-api/src/main/resources/schema/saml-metadata-ext-oidcmd.xsd
+++ b/oidc-common-saml-api/src/main/resources/schema/saml-metadata-ext-oidcmd.xsd
@@ -29,64 +29,41 @@
 
     <element name="OAuthRPExtensions">
         <complexType>
-            <choice minOccurs="0" maxOccurs="unbounded">
-                <element ref="oidcmd:TokenEndpointAuthMethod" />
-                <element ref="oidcmd:GrantType" />
-                <element ref="oidcmd:ResponseType" />
-                <element ref="oidcmd:ApplicationType" />
-                <element ref="oidcmd:ClientUri" />
-                <element ref="oidcmd:Scope" />
-                <element ref="oidcmd:SoftwareId" />
-                <element ref="oidcmd:SoftwareVersion" />
-                <element ref="oidcmd:SectorIdentifierUri" />
-                <element ref="oidcmd:IdTokenSignedResponseAlg" />
-                <element ref="oidcmd:IdTokenEncryptedResponseAlg" />
-                <element ref="oidcmd:IdTokenEncryptedResponseEnc" />
-                <element ref="oidcmd:UserInfoSignedResponseAlg" />
-                <element ref="oidcmd:UserInfoEncryptedResponseAlg" />
-                <element ref="oidcmd:UserInfoEncryptedResponseEnc" />
-                <element ref="oidcmd:RequestObjectSigningAlg" />
-                <element ref="oidcmd:RequestObjectEncryptionAlg" />
-                <element ref="oidcmd:RequestObjectEncryptionEnc" />
-                <element ref="oidcmd:TokenEndpointAuthSigningAlg" />
-                <element ref="oidcmd:DefaultAcrValue" /><!-- order matters -->
-                <element ref="oidcmd:InitiateLoginUri" />
-                <element ref="oidcmd:RequestUri" />
-                <element ref="oidcmd:PostLogoutRedirectUri" />
+            <sequence>
+                <element ref="oidcmd:default_acr_value" minOccurs="0" maxOccurs="unbounded"/><!-- order matters -->
+                <element ref="oidcmd:request_uri" minOccurs="0" maxOccurs="unbounded"/>
+                <element ref="oidcmd:post_logout_redirect_uri" minOccurs="0" maxOccurs="unbounded" />
                 <any namespace="##other" processContents="lax" />
-            </choice>
-            <attribute name="defaultMaxAge" type="int" />
-            <attribute name="requireAuthTime" type="boolean" />
+            </sequence>
+            <attribute name="token_endpoint_auth_method" type="oidcmd:string" />
+            <attribute name="grant_types" type="oidcmd:stringListType" />
+            <attribute name="response_types" type="oidcmd:stringListType" />
+            <attribute name="application_type" type="oidcmd:string" />
+            <attribute name="client_uri" type="oidcmd:anyURI" />
+            <attribute name="scopes" type="oidcmd:stringListType" />
+            <attribute name="software_id" type="oidcmd:string" />
+            <attribute name="software_version" type="oidcmd:string" />
+            <attribute name="sector_identifier_uri" type="oidcmd:anyURI" />
+            <attribute name="id_token_signed_response_alg" type="oidcmd:string" />
+            <attribute name="id_token_encrypted_response_alg" type="oidcmd:string" />
+            <attribute name="id_token_encrypted_response_enc" type="oidcmd:string" />
+            <attribute name="userinfo_signed_response_alg" type="oidcmd:string" />
+            <attribute name="userinfo_encrypted_response_alg" type="oidcmd:string" />
+            <attribute name="userinfo_encrypted_response_enc" type="oidcmd:string" />
+            <attribute name="request_object_signing_alg" type="oidcmd:string" />
+            <attribute name="request_object_encryption_alg" type="oidcmd:string" />
+            <attribute name="request_object_encryption_enc" type="oidcmd:string" />
+            <attribute name="token_endpoint_auth_signing_alg" type="oidcmd:string" />
+            <attribute name="initiate_login_uri" type="oidcmd:anyURI" />
+            <attribute name="default_max_age" type="int" />
+            <attribute name="require_auth_time" type="boolean" />
             <anyAttribute namespace="##other" processContents="lax" />
         </complexType>
     </element>
 
-    <element name="TokenEndpointAuthMethod" type="oidcmd:string" />
-    <element name="GrantType" type="oidcmd:stringListType" />
-    <element name="ResponseType" type="oidcmd:stringListType" />
-    <element name="ApplicationType" type="oidcmd:string" />
-
-    <element name="ClientUri" type="oidcmd:anyURI" />
-    <element name="Scope" type="oidcmd:stringListType" />
-    <element name="SoftwareId" type="oidcmd:string" />
-    <element name="SoftwareVersion" type="oidcmd:string" />
-    <element name="SectorIdentifierUri" type="oidcmd:anyURI" />
-
-    <element name="IdTokenSignedResponseAlg" type="oidcmd:string" />
-    <element name="IdTokenEncryptedResponseAlg" type="oidcmd:string" />
-    <element name="IdTokenEncryptedResponseEnc" type="oidcmd:string" />
-    <element name="UserInfoSignedResponseAlg" type="oidcmd:string" />
-    <element name="UserInfoEncryptedResponseAlg" type="oidcmd:string" />
-    <element name="UserInfoEncryptedResponseEnc" type="oidcmd:string" />
-    <element name="RequestObjectSigningAlg" type="oidcmd:string" />
-    <element name="RequestObjectEncryptionAlg" type="oidcmd:string" />
-    <element name="RequestObjectEncryptionEnc" type="oidcmd:string" />
-    <element name="TokenEndpointAuthSigningAlg" type="oidcmd:string" />
-    
-    <element name="DefaultAcrValue" type="oidcmd:string" />
-    <element name="InitiateLoginUri" type="oidcmd:anyURI" />
-    <element name="RequestUri" type="oidcmd:anyURI" />
-    <element name="PostLogoutRedirectUri" type="oidcmd:anyURI" />
+    <element name="default_acr_value" type="oidcmd:string" />
+    <element name="request_uri" type="oidcmd:anyURI" />
+    <element name="post_logout_redirect_uri" type="oidcmd:anyURI" />
     
     <element name="JwksUri" type="oidcmd:anyURI" />
     <element name="JwksData" type="base64Binary" />
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeBuilder.java
deleted file mode 100644
index 07d83f9..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.ApplicationType;
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-
-/**
- * Builder of {@link ApplicationTypeImpl}.
- */
-public class ApplicationTypeBuilder extends AbstractSAMLObjectBuilder<ApplicationType> {
-
-    /**
-     * Constructor.
-     */
-    public ApplicationTypeBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public ApplicationType buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, ApplicationType.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public ApplicationType buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new ApplicationTypeImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeImpl.java
deleted file mode 100644
index 15dbe6c..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeImpl.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.ApplicationType;
-
-/**
- * Concrete implementation of {@link ApplicationType}.
- */
-public class ApplicationTypeImpl extends AbstractMetadataValueSAMLObject implements ApplicationType {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected ApplicationTypeImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeMarshaller.java
deleted file mode 100644
index 865635d..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.ApplicationType;
-
-/**
- * A thread safe Marshaller for {@link ApplicationType} objects.
- */
-public class ApplicationTypeMarshaller extends AbstractMetadataValueMarshaller<ApplicationType> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeUnmarshaller.java
deleted file mode 100644
index af4a631..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeUnmarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.ApplicationType;
-
-/**
- * A thread-safe Unmarshaller for {@link ApplicationType} objects.
- */
-public class ApplicationTypeUnmarshaller extends AbstractMetadataValueUnmarshaller<ApplicationType> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriBuilder.java
deleted file mode 100644
index 5c60b15..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriBuilder.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.ClientUri;
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-
-/**
- * Builder of {@link ClientUriImpl}.
- */
-public class ClientUriBuilder extends AbstractSAMLObjectBuilder<ClientUri> {
-
-    /**
-     * Constructor.
-     */
-    public ClientUriBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public ClientUri buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, ClientUri.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public ClientUri buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
-        return new ClientUriImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriImpl.java
deleted file mode 100644
index 91f24e8..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.ClientUri;
-
-/**
- * Concrete implementation of {@link ClientUri}.
- */
-public class ClientUriImpl extends AbstractMetadataValueSAMLObject implements ClientUri {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected ClientUriImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriMarshaller.java
deleted file mode 100644
index 01f0a2a..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.ClientUri;
-
-/**
- * A thread safe Marshaller for {@link ClientUri} objects.
- */
-public class ClientUriMarshaller extends AbstractMetadataValueMarshaller<ClientUri> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriUnmarshaller.java
deleted file mode 100644
index 082454e..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriUnmarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.ClientUri;
-
-/**
- * A thread-safe Unmarshaller for {@link ClientUri} objects.
- */
-public class ClientUriUnmarshaller extends AbstractMetadataValueUnmarshaller<ClientUri> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeBuilder.java
deleted file mode 100644
index 356495b..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeBuilder.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.GrantType;
-
-/**
- * Builder of {@link GrantTypeImpl}.
- */
-public class GrantTypeBuilder extends AbstractSAMLObjectBuilder<GrantType> {
-
-    /**
-     * Constructor.
-     */
-    public GrantTypeBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public GrantType buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, GrantType.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public GrantType buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
-        return new GrantTypeImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeImpl.java
deleted file mode 100644
index bdf7ae6..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeImpl.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.GrantType;
-
-/**
- * Concrete implementation of {@link GrantType}.
- */
-public class GrantTypeImpl extends AbstractMetadataValueSAMLObject implements GrantType {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected GrantTypeImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeMarshaller.java
deleted file mode 100644
index 8db9b57..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.GrantType;
-
-/**
- * A thread safe Marshaller for {@link GrantType} objects.
- */
-public class GrantTypeMarshaller extends AbstractMetadataValueMarshaller<GrantType> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeUnmarshaller.java
deleted file mode 100644
index 5b0a74c..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeUnmarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.GrantType;
-
-/**
- * A thread-safe Unmarshaller for {@link GrantType} objects.
- */
-public class GrantTypeUnmarshaller extends AbstractMetadataValueUnmarshaller<GrantType> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgBuilder.java
deleted file mode 100644
index b362176..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseAlg;
-
-/**
- * Builder of {@link IdTokenEncryptedResponseAlgImpl}.
- */
-public class IdTokenEncryptedResponseAlgBuilder extends AbstractSAMLObjectBuilder<IdTokenEncryptedResponseAlg> {
-
-    /**
-     * Constructor.
-     */
-    public IdTokenEncryptedResponseAlgBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public IdTokenEncryptedResponseAlg buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, IdTokenEncryptedResponseAlg.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public IdTokenEncryptedResponseAlg buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new IdTokenEncryptedResponseAlgImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgImpl.java
deleted file mode 100644
index 4e1f03a..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgImpl.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseAlg;
-
-/**
- * Concrete implementation of {@link IdTokenEncryptedResponseAlg}.
- */
-public class IdTokenEncryptedResponseAlgImpl extends AbstractMetadataValueSAMLObject
-        implements IdTokenEncryptedResponseAlg {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected IdTokenEncryptedResponseAlgImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgMarshaller.java
deleted file mode 100644
index 3eda376..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgMarshaller.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseAlg;
-
-/**
- * A thread safe Marshaller for {@link IdTokenEncryptedResponseAlg} objects.
- */
-public class IdTokenEncryptedResponseAlgMarshaller
-        extends AbstractMetadataValueMarshaller<IdTokenEncryptedResponseAlg> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgUnmarshaller.java
deleted file mode 100644
index 0cc6393..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgUnmarshaller.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseAlg;
-
-/**
- * A thread-safe Unmarshaller for {@link IdTokenEncryptedResponseAlg} objects.
- */
-public class IdTokenEncryptedResponseAlgUnmarshaller
-        extends AbstractMetadataValueUnmarshaller<IdTokenEncryptedResponseAlg> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncBuilder.java
deleted file mode 100644
index c4ee591..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseEnc;
-
-/**
- * Builder of {@link IdTokenEncryptedResponseEncImpl}.
- */
-public class IdTokenEncryptedResponseEncBuilder extends AbstractSAMLObjectBuilder<IdTokenEncryptedResponseEnc> {
-
-    /**
-     * Constructor.
-     */
-    public IdTokenEncryptedResponseEncBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public IdTokenEncryptedResponseEnc buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, IdTokenEncryptedResponseEnc.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public IdTokenEncryptedResponseEnc buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new IdTokenEncryptedResponseEncImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncImpl.java
deleted file mode 100644
index daf5d12..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncImpl.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseEnc;
-
-/**
- * Concrete implementation of {@link IdTokenEncryptedResponseEnc}.
- */
-public class IdTokenEncryptedResponseEncImpl extends AbstractMetadataValueSAMLObject
-        implements IdTokenEncryptedResponseEnc {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected IdTokenEncryptedResponseEncImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncMarshaller.java
deleted file mode 100644
index b22ab66..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncMarshaller.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseEnc;
-
-/**
- * A thread safe Marshaller for {@link IdTokenEncryptedResponseEnc} objects.
- */
-public class IdTokenEncryptedResponseEncMarshaller
-        extends AbstractMetadataValueMarshaller<IdTokenEncryptedResponseEnc> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncUnmarshaller.java
deleted file mode 100644
index 9fa9355..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncUnmarshaller.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseEnc;
-
-/**
- * A thread-safe Unmarshaller for {@link IdTokenEncryptedResponseEnc} objects.
- */
-public class IdTokenEncryptedResponseEncUnmarshaller
-        extends AbstractMetadataValueUnmarshaller<IdTokenEncryptedResponseEnc> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgBuilder.java
deleted file mode 100644
index ef92498..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.IdTokenSignedResponseAlg;
-
-/**
- * Builder of {@link IdTokenSignedResponseAlgImpl}.
- */
-public class IdTokenSignedResponseAlgBuilder extends AbstractSAMLObjectBuilder<IdTokenSignedResponseAlg> {
-
-    /**
-     * Constructor.
-     */
-    public IdTokenSignedResponseAlgBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public IdTokenSignedResponseAlg buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, IdTokenSignedResponseAlg.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public IdTokenSignedResponseAlg buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new IdTokenSignedResponseAlgImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgImpl.java
deleted file mode 100644
index 2bb176e..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgImpl.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.IdTokenSignedResponseAlg;
-
-/**
- * Concrete implementation of {@link IdTokenSignedResponseAlg}.
- */
-public class IdTokenSignedResponseAlgImpl extends AbstractMetadataValueSAMLObject implements IdTokenSignedResponseAlg {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected IdTokenSignedResponseAlgImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgMarshaller.java
deleted file mode 100644
index c56c4e2..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.IdTokenSignedResponseAlg;
-
-/**
- * A thread safe Marshaller for {@link IdTokenSignedResponseAlg} objects.
- */
-public class IdTokenSignedResponseAlgMarshaller extends AbstractMetadataValueMarshaller<IdTokenSignedResponseAlg> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgUnmarshaller.java
deleted file mode 100644
index 7d310b6..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgUnmarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.IdTokenSignedResponseAlg;
-
-/**
- * A thread-safe Unmarshaller for {@link IdTokenSignedResponseAlg} objects.
- */
-public class IdTokenSignedResponseAlgUnmarshaller extends AbstractMetadataValueUnmarshaller<IdTokenSignedResponseAlg> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriBuilder.java
deleted file mode 100644
index 24fc1cd..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.InitiateLoginUri;
-
-/**
- * Builder of {@link InitiateLoginUriImpl}.
- */
-public class InitiateLoginUriBuilder extends AbstractSAMLObjectBuilder<InitiateLoginUri> {
-
-    /**
-     * Constructor.
-     */
-    public InitiateLoginUriBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public InitiateLoginUri buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, InitiateLoginUri.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public InitiateLoginUri buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new InitiateLoginUriImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriImpl.java
deleted file mode 100644
index 4f640dc..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriImpl.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.InitiateLoginUri;
-
-/**
- * Concrete implementation of {@link InitiateLoginUri}.
- */
-public class InitiateLoginUriImpl extends AbstractMetadataValueSAMLObject implements InitiateLoginUri {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected InitiateLoginUriImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriMarshaller.java
deleted file mode 100644
index 3ba317c..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.InitiateLoginUri;
-
-/**
- * A thread safe Marshaller for {@link InitiateLoginUri} objects.
- */
-public class InitiateLoginUriMarshaller extends AbstractMetadataValueMarshaller<InitiateLoginUri> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriUnmarshaller.java
deleted file mode 100644
index da0c1ff..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriUnmarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.InitiateLoginUri;
-
-/**
- * A thread-safe Unmarshaller for {@link InitiateLoginUri} objects.
- */
-public class InitiateLoginUriUnmarshaller extends AbstractMetadataValueUnmarshaller<InitiateLoginUri> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsImpl.java
index 01cf784..4025de9 100644
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsImpl.java
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsImpl.java
@@ -29,30 +29,10 @@ import org.opensaml.core.xml.util.AttributeMap;
 import org.opensaml.core.xml.util.IndexedXMLObjectChildrenList;
 import org.opensaml.core.xml.util.XMLObjectChildrenList;
 
-import net.shibboleth.oidc.saml.xmlobject.ApplicationType;
-import net.shibboleth.oidc.saml.xmlobject.ClientUri;
 import net.shibboleth.oidc.saml.xmlobject.DefaultAcrValue;
-import net.shibboleth.oidc.saml.xmlobject.GrantType;
-import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseAlg;
-import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseEnc;
-import net.shibboleth.oidc.saml.xmlobject.IdTokenSignedResponseAlg;
-import net.shibboleth.oidc.saml.xmlobject.InitiateLoginUri;
 import net.shibboleth.oidc.saml.xmlobject.OAuthRPExtensions;
 import net.shibboleth.oidc.saml.xmlobject.PostLogoutRedirectUri;
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionAlg;
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionEnc;
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectSigningAlg;
 import net.shibboleth.oidc.saml.xmlobject.RequestUri;
-import net.shibboleth.oidc.saml.xmlobject.ResponseType;
-import net.shibboleth.oidc.saml.xmlobject.Scope;
-import net.shibboleth.oidc.saml.xmlobject.SectorIdentifierUri;
-import net.shibboleth.oidc.saml.xmlobject.SoftwareId;
-import net.shibboleth.oidc.saml.xmlobject.SoftwareVersion;
-import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthMethod;
-import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthSigningAlg;
-import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseAlg;
-import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseEnc;
-import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
 
 /**
  * Implementation for {@link OAuthRPExtensions}.
@@ -60,80 +40,80 @@ import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
 public class OAuthRPExtensionsImpl extends AbstractXMLObject implements OAuthRPExtensions {
 
     /** Token endpoint authentication method for this entity. */
-    private TokenEndpointAuthMethod tokenEndpointAuthMethod;
+    private String tokenEndpointAuthMethod;
     
     /** Response types for this entity. */
-    private final XMLObjectChildrenList<ResponseType> responseTypes;
+    private String responseTypes;
     
     /** Grant types for this entity. */
-    private final XMLObjectChildrenList<GrantType> grantTypes;
+    private String grantTypes;
     
     /** Application type for this entity. */
-    private ApplicationType applicationType;
+    private String applicationType;
     
     /** Client URI for this entity. */
-    private ClientUri clientUri;
+    private String clientUri;
     
     /** Scopes for this entity. */
-    private final XMLObjectChildrenList<Scope> scopes;
+    private String scopes;
     
     /** Software identifier for this entity. */
-    private SoftwareId softwareId;
+    private String softwareId;
     
     /** Software version for this entity. */
-    private SoftwareVersion softwareVersion;
+    private String softwareVersion;
     
     /** Sector identifier URI for this entity. */
-    private SectorIdentifierUri sectorIdentifierUri;
+    private String sectorIdentifierUri;
     
     /** ID token signed response algorithm for this entity. */
-    private IdTokenSignedResponseAlg idTokenSignedResponseAlg;
+    private String idTokenSignedResponseAlg;
     
     /** ID token encrypted response algorithm for this entity. */
-    private IdTokenEncryptedResponseAlg idTokenEncryptedResponseAlg;
+    private String idTokenEncryptedResponseAlg;
 
     /** ID token encrypted response encoder for this entity. */
-    private IdTokenEncryptedResponseEnc idTokenEncryptedResponseEnc;
+    private String idTokenEncryptedResponseEnc;
 
     /** User info signed response algorithm for this entity. */
-    private UserInfoSignedResponseAlg userInfoSignedResponseAlg;
+    private String userInfoSignedResponseAlg;
     
     /** User info encrypted response algorithm for this entity. */
-    private UserInfoEncryptedResponseAlg userInfoEncryptedResponseAlg;
+    private String userInfoEncryptedResponseAlg;
 
     /** User info encrypted response encoder for this entity. */
-    private UserInfoEncryptedResponseEnc userInfoEncryptedResponseEnc;
+    private String userInfoEncryptedResponseEnc;
 
     /** Request object signing algorithm for this entity. */
-    private RequestObjectSigningAlg requestObjectSigningAlg;
+    private String requestObjectSigningAlg;
     
     /** Request object encryption algorithm for this entity. */
-    private RequestObjectEncryptionAlg requestObjectEncryptionAlg;
+    private String requestObjectEncryptionAlg;
 
     /** Request object encryption encoder for this entity. */
-    private RequestObjectEncryptionEnc requestObjectEncryptionEnc;
+    private String requestObjectEncryptionEnc;
     
     /** Token endpoint authentication signing algorithm for this entity. */
-    private TokenEndpointAuthSigningAlg tokenEndpointAuthSigningAlg;
+    private String tokenEndpointAuthSigningAlg;
+
+    /** Initiate login URI for this entity. */
+    private String initiateLoginUri;
+
+    /** Default max age for this entity. */
+    private int defaultMaxAge;
+    
+    /** Require auth time flag for this entity. */
+    private boolean requireAuthTime;
     
     /** Default ACR values for this entity. */
     private final XMLObjectChildrenList<DefaultAcrValue> defaultAcrValues;
-    
-    /** Initiate login URI for this entity. */
-    private InitiateLoginUri initiateLoginUri;
-    
+        
     /** Request URIs for this entity. */
     private final XMLObjectChildrenList<RequestUri> requestUris;
     
     /** Post logout redirect URIs for this entity. */
     private final XMLObjectChildrenList<PostLogoutRedirectUri> postLogoutRedirectUris;
     
-    /** Default max age for this entity. */
-    private int defaultMaxAge;
-    
-    /** Require auth time flag for this entity. */
-    private boolean requireAuthTime;
-    
     /** "anyAttribute" attributes. */
     private final AttributeMap unknownAttributes;
     
@@ -150,9 +130,6 @@ public class OAuthRPExtensionsImpl extends AbstractXMLObject implements OAuthRPE
     protected OAuthRPExtensionsImpl(final String namespaceURI, final String elementLocalName,
             final String namespacePrefix) {
         super(namespaceURI, elementLocalName, namespacePrefix);
-        responseTypes = new XMLObjectChildrenList<>(this);
-        grantTypes = new XMLObjectChildrenList<>(this);
-        scopes = new XMLObjectChildrenList<>(this);
         defaultAcrValues = new XMLObjectChildrenList<>(this);
         requestUris = new XMLObjectChildrenList<>(this);
         postLogoutRedirectUris = new XMLObjectChildrenList<>(this);
@@ -161,297 +138,249 @@ public class OAuthRPExtensionsImpl extends AbstractXMLObject implements OAuthRPE
     }
     
     /** {@inheritDoc} */
-    @Override
-    public List<ResponseType> getResponseTypes() {
+    public String getResponseTypes() {
         return responseTypes;
     }
+    
+    /** {@inheritDoc} */
+    public void setResponseTypes(final String types) {
+        responseTypes = types;
+    }
 
     /** {@inheritDoc} */
-    @Override
-    public List<GrantType> getGrantTypes() {
+    public String getGrantTypes() {
         return grantTypes;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public ApplicationType getApplicationType() {
+    public void setGrantTypes(final String types) {
+        grantTypes = types;
+    }
+
+    /** {@inheritDoc} */
+    public String getApplicationType() {
         return applicationType;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setApplicationType(final ApplicationType type) {
+    public void setApplicationType(final String type) {
         applicationType = type;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public TokenEndpointAuthMethod getTokenEndpointAuthMethod() {
+    public String getTokenEndpointAuthMethod() {
         return tokenEndpointAuthMethod;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setTokenEndpointAuthMethod(final TokenEndpointAuthMethod method) {
+    public void setTokenEndpointAuthMethod(final String method) {
         tokenEndpointAuthMethod = method;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public ClientUri getClientUri() {
+    public String getClientUri() {
         return clientUri;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setClientUri(final ClientUri uri) {
+    public void setClientUri(final String uri) {
         clientUri = uri;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public List<Scope> getScopes() {
+    public String getScopes() {
         return scopes;
     }
+    
+    /** {@inheritDoc} */
+    public void setScopes(final String values) {
+        scopes = values;
+    }
 
     /** {@inheritDoc} */
-    @Override
-    public SoftwareId getSoftwareId() {
+    public String getSoftwareId() {
         return softwareId;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setSoftwareId(final SoftwareId id) {
+    public void setSoftwareId(final String id) {
         softwareId = id;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public SoftwareVersion getSoftwareVersion() {
+    public String getSoftwareVersion() {
         return softwareVersion;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setSoftwareVersion(final SoftwareVersion version) {
+    public void setSoftwareVersion(final String version) {
         softwareVersion = version;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public SectorIdentifierUri getSectorIdentifierUri() {
+    public String getSectorIdentifierUri() {
         return sectorIdentifierUri;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setSectorIdentifierUri(final SectorIdentifierUri uri) {
+    public void setSectorIdentifierUri(final String uri) {
         sectorIdentifierUri = uri;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public IdTokenSignedResponseAlg getIdTokenSignedResponseAlg() {
+    public String getIdTokenSignedResponseAlg() {
         return idTokenSignedResponseAlg;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setIdTokenSignedResponseAlg(final IdTokenSignedResponseAlg algorithm) {
+    public void setIdTokenSignedResponseAlg(final String algorithm) {
         idTokenSignedResponseAlg = algorithm;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public IdTokenEncryptedResponseAlg getIdTokenEncryptedResponseAlg() {
+    public String getIdTokenEncryptedResponseAlg() {
         return  idTokenEncryptedResponseAlg;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setIdTokenEncryptedResponseAlg(final IdTokenEncryptedResponseAlg algorithm) {
+    public void setIdTokenEncryptedResponseAlg(final String algorithm) {
         idTokenEncryptedResponseAlg = algorithm;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public IdTokenEncryptedResponseEnc getIdTokenEncryptedResponseEnc() {
+    public String getIdTokenEncryptedResponseEnc() {
         return idTokenEncryptedResponseEnc;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setIdTokenEncryptedResponseEnc(final IdTokenEncryptedResponseEnc algorithm) {
+    public void setIdTokenEncryptedResponseEnc(final String algorithm) {
         idTokenEncryptedResponseEnc = algorithm;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public UserInfoSignedResponseAlg getUserInfoSignedResponseAlg() {
+    public String getUserInfoSignedResponseAlg() {
         return userInfoSignedResponseAlg;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setUserInfoSignedResponseAlg(final UserInfoSignedResponseAlg algorithm) {
+    public void setUserInfoSignedResponseAlg(final String algorithm) {
         userInfoSignedResponseAlg = algorithm;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public UserInfoEncryptedResponseAlg getUserInfoEncryptedResponseAlg() {
+    public String getUserInfoEncryptedResponseAlg() {
         return userInfoEncryptedResponseAlg;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setUserInfoEncryptedResponseAlg(final UserInfoEncryptedResponseAlg algorithm) {
+    public void setUserInfoEncryptedResponseAlg(final String algorithm) {
         userInfoEncryptedResponseAlg = algorithm;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public UserInfoEncryptedResponseEnc getUserInfoEncryptedResponseEnc() {
+    public String getUserInfoEncryptedResponseEnc() {
         return userInfoEncryptedResponseEnc;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setUserInfoEncryptedResponseEnc(final UserInfoEncryptedResponseEnc algorithm) {
+    public void setUserInfoEncryptedResponseEnc(final String algorithm) {
         userInfoEncryptedResponseEnc = algorithm;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public RequestObjectSigningAlg getRequestObjectSigningAlg() {
+    public String getRequestObjectSigningAlg() {
         return requestObjectSigningAlg;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setRequestObjectSigningAlg(final RequestObjectSigningAlg algorithm) {
+    public void setRequestObjectSigningAlg(final String algorithm) {
         requestObjectSigningAlg = algorithm;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public RequestObjectEncryptionAlg getRequestObjectEncryptionAlg() {
+    public String getRequestObjectEncryptionAlg() {
         return requestObjectEncryptionAlg;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setRequestObjectEncryptionAlg(final RequestObjectEncryptionAlg algorithm) {
+    public void setRequestObjectEncryptionAlg(final String algorithm) {
         requestObjectEncryptionAlg = algorithm;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public RequestObjectEncryptionEnc getRequestObjectEncryptionEnc() {
+    public String getRequestObjectEncryptionEnc() {
         return requestObjectEncryptionEnc;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setRequestObjectEncryptionEnc(final RequestObjectEncryptionEnc algorithm) {
+    public void setRequestObjectEncryptionEnc(final String algorithm) {
         requestObjectEncryptionEnc = algorithm;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public TokenEndpointAuthSigningAlg getTokenEndpointAuthSigningAlg() {
+    public String getTokenEndpointAuthSigningAlg() {
         return tokenEndpointAuthSigningAlg;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setTokenEndpointAuthSigningAlg(final TokenEndpointAuthSigningAlg algorithm) {
+    public void setTokenEndpointAuthSigningAlg(final String algorithm) {
         tokenEndpointAuthSigningAlg = algorithm;
     }
 
-    /** {@inheritDoc} */
-    @Override
-    public List<DefaultAcrValue> getDefaultAcrValues() {
-        return defaultAcrValues;
-    }
 
     /** {@inheritDoc} */
-    @Override
-    public InitiateLoginUri getInitiateLoginUri() {
+    public String getInitiateLoginUri() {
         return initiateLoginUri;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public void setInitiateLoginUri(final InitiateLoginUri uri) {
+    public void setInitiateLoginUri(final String uri) {
         initiateLoginUri = uri;
     }
 
     /** {@inheritDoc} */
-    @Override
-    public List<RequestUri> getRequestUris() {
-        return requestUris;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public List<PostLogoutRedirectUri> getPostLogoutRedirectUris() {
-        return postLogoutRedirectUris;
-    }
-
-    /** {@inheritDoc} */
-    @Override
     public int getDefaultMaxAge() {
         return defaultMaxAge;
     }
 
     /** {@inheritDoc} */
-    @Override
     public void setDefaultMaxAge(final int age) {
         defaultMaxAge = age;
     }
 
     /** {@inheritDoc} */
-    @Override
     public boolean isRequireAuthTime() {
         return requireAuthTime;
     }
 
     /** {@inheritDoc} */
-    @Override
     public void setRequireAuthTime(final boolean flag) {
         requireAuthTime = flag;
     }
+
+    /** {@inheritDoc} */
+    public List<DefaultAcrValue> getDefaultAcrValues() {
+        return defaultAcrValues;
+    }
+
+    /** {@inheritDoc} */
+    public List<RequestUri> getRequestUris() {
+        return requestUris;
+    }
+
+    /** {@inheritDoc} */
+    public List<PostLogoutRedirectUri> getPostLogoutRedirectUris() {
+        return postLogoutRedirectUris;
+    }
     
     /** {@inheritDoc} */
     @Override
     public List<XMLObject> getOrderedChildren() {
         final ArrayList<XMLObject> children = new ArrayList<>();
 
-        children.add(getApplicationType());
-        children.add(getClientUri());
         children.addAll(getDefaultAcrValues());
-        children.addAll(getGrantTypes());
-        children.add(getIdTokenEncryptedResponseAlg());
-        children.add(getIdTokenEncryptedResponseEnc());
-        children.add(getIdTokenSignedResponseAlg());
-        children.add(getInitiateLoginUri());
-        children.addAll(getPostLogoutRedirectUris());
-        children.add(getRequestObjectEncryptionAlg());
-        children.add(getRequestObjectEncryptionEnc());
-        children.add(getRequestObjectSigningAlg());
         children.addAll(getRequestUris());
-        children.addAll(getResponseTypes());
-        children.addAll(getScopes());
-        children.add(getSoftwareId());
-        children.add(getSoftwareVersion());
-        children.add(getTokenEndpointAuthMethod());
-        children.add(getTokenEndpointAuthSigningAlg());
-        children.add(getSectorIdentifierUri());
-        children.add(getUserInfoEncryptedResponseAlg());
-        children.add(getUserInfoEncryptedResponseEnc());
-        children.add(getUserInfoSignedResponseAlg());
+        children.addAll(getPostLogoutRedirectUris());
         children.addAll(getUnknownXMLObjects());
 
         return Collections.unmodifiableList(children);
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsMarshaller.java
index 8194812..b121a54 100644
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsMarshaller.java
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsMarshaller.java
@@ -34,18 +34,114 @@ public class OAuthRPExtensionsMarshaller extends AbstractSAMLObjectMarshaller {
             throws MarshallingException {
         final OAuthRPExtensions rpExtensions = (OAuthRPExtensions) samlElement;
 
-        // Set the default max age attribute
+        if (rpExtensions.getTokenEndpointAuthMethod() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.TOKEN_ENDPOINT_AUTH_METHOD_ATTRIB_NAME,
+                    rpExtensions.getTokenEndpointAuthMethod());
+        }
+
+        if (rpExtensions.getGrantTypes() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.GRANT_TYPES_ATTRIB_NAME,
+                    rpExtensions.getGrantTypes());
+        }
+
+        if (rpExtensions.getResponseTypes() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.RESPONSE_TYPES_ATTRIB_NAME,
+                    rpExtensions.getResponseTypes());
+        }
+
+        if (rpExtensions.getApplicationType() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.APPLICATION_TYPE_ATTRIB_NAME,
+                    rpExtensions.getApplicationType());
+        }
+
+        if (rpExtensions.getClientUri() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.CLIENT_URI_ATTRIB_NAME,
+                    rpExtensions.getClientUri());
+        }
+
+        if (rpExtensions.getScopes() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.SCOPES_ATTRIB_NAME,
+                    rpExtensions.getScopes());
+        }
+
+        if (rpExtensions.getSoftwareId() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.SOFTWARE_ID_ATTRIB_NAME,
+                    rpExtensions.getSoftwareId());
+        }
+
+        if (rpExtensions.getSoftwareVersion() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.SOFTWARE_VERSION_ATTRIB_NAME,
+                    rpExtensions.getSoftwareVersion());
+        }
+
+        if (rpExtensions.getSectorIdentifierUri() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.SECTOR_IDENTIFIER_URI_ATTRIB_NAME,
+                    rpExtensions.getSectorIdentifierUri());
+        }
+
+        if (rpExtensions.getIdTokenSignedResponseAlg() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.ID_TOKEN_SIGNED_RESPONSE_ALG_ATTRIB_NAME,
+                    rpExtensions.getIdTokenSignedResponseAlg());
+        }
+
+        if (rpExtensions.getIdTokenEncryptedResponseAlg() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.ID_TOKEN_ENCRYPTED_RESPONSE_ALG_ATTRIB_NAME,
+                    rpExtensions.getIdTokenEncryptedResponseAlg());
+        }
+
+        if (rpExtensions.getIdTokenEncryptedResponseEnc() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.ID_TOKEN_ENCRYPTED_RESPONSE_ENC_ATTRIB_NAME,
+                    rpExtensions.getIdTokenEncryptedResponseEnc());
+        }
+
+        if (rpExtensions.getUserInfoSignedResponseAlg() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.USERINFO_SIGNED_RESPONSE_ALG_ATTRIB_NAME,
+                    rpExtensions.getUserInfoSignedResponseAlg());
+        }
+
+        if (rpExtensions.getUserInfoEncryptedResponseAlg() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.USERINFO_ENCRYPTED_RESPONSE_ALG_ATTRIB_NAME,
+                    rpExtensions.getUserInfoEncryptedResponseAlg());
+        }
+
+        if (rpExtensions.getUserInfoEncryptedResponseEnc() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.USERINFO_ENCRYPTED_RESPONSE_ENC_ATTRIB_NAME,
+                    rpExtensions.getUserInfoEncryptedResponseEnc());
+        }
+
+        if (rpExtensions.getRequestObjectSigningAlg() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.REQUEST_OBJECT_SIGNING_ALG_ATTRIB_NAME,
+                    rpExtensions.getRequestObjectSigningAlg());
+        }
+
+        if (rpExtensions.getRequestObjectEncryptionAlg() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.REQUEST_OBJECT_ENCRYPTION_ALG_ATTRIB_NAME,
+                    rpExtensions.getRequestObjectEncryptionAlg());
+        }
+
+        if (rpExtensions.getRequestObjectEncryptionEnc() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.REQUEST_OBJECT_ENCRYPTION_ENC_ATTRIB_NAME,
+                    rpExtensions.getRequestObjectEncryptionEnc());
+        }
+
+        if (rpExtensions.getTokenEndpointAuthSigningAlg() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.TOKEN_ENDPOINT_AUTH_SIGNING_ALG_ATTRIB_NAME,
+                    rpExtensions.getTokenEndpointAuthSigningAlg());
+        }
+
+        if (rpExtensions.getInitiateLoginUri() != null) {
+            domElement.setAttributeNS(null, OAuthRPExtensions.INITIATE_LOGIN_URI_ATTRIB_NAME,
+                    rpExtensions.getInitiateLoginUri());
+        }
+
         if (rpExtensions.getDefaultMaxAge() != 0) {
             domElement.setAttributeNS(null, OAuthRPExtensions.DEFAULT_MAX_AGE_ATTRIB_NAME,
                     Integer.toString(rpExtensions.getDefaultMaxAge()));
-            domElement.setIdAttributeNS(null, OAuthRPExtensions.DEFAULT_MAX_AGE_ATTRIB_NAME, true);
         }
 
-        // Set the require auth time attribute
         if (rpExtensions.isRequireAuthTime()) {
             domElement.setAttributeNS(null, OAuthRPExtensions.REQUIRE_AUTH_TIME_ATTRIB_NAME,
                     Boolean.toString(rpExtensions.isRequireAuthTime()));
-            domElement.setIdAttributeNS(null, OAuthRPExtensions.REQUIRE_AUTH_TIME_ATTRIB_NAME, true);
         }
 
         marshallUnknownAttributes(rpExtensions, domElement);
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsUnmarshaller.java
index 99a59b2..a97c02b 100644
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsUnmarshaller.java
+++ b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsUnmarshaller.java
@@ -24,30 +24,10 @@ import org.w3c.dom.Attr;
 
 import com.google.common.base.Strings;
 
-import net.shibboleth.oidc.saml.xmlobject.ApplicationType;
-import net.shibboleth.oidc.saml.xmlobject.ClientUri;
 import net.shibboleth.oidc.saml.xmlobject.DefaultAcrValue;
-import net.shibboleth.oidc.saml.xmlobject.GrantType;
-import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseAlg;
-import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseEnc;
-import net.shibboleth.oidc.saml.xmlobject.IdTokenSignedResponseAlg;
-import net.shibboleth.oidc.saml.xmlobject.InitiateLoginUri;
 import net.shibboleth.oidc.saml.xmlobject.OAuthRPExtensions;
 import net.shibboleth.oidc.saml.xmlobject.PostLogoutRedirectUri;
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionAlg;
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionEnc;
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectSigningAlg;
 import net.shibboleth.oidc.saml.xmlobject.RequestUri;
-import net.shibboleth.oidc.saml.xmlobject.ResponseType;
-import net.shibboleth.oidc.saml.xmlobject.Scope;
-import net.shibboleth.oidc.saml.xmlobject.SectorIdentifierUri;
-import net.shibboleth.oidc.saml.xmlobject.SoftwareId;
-import net.shibboleth.oidc.saml.xmlobject.SoftwareVersion;
-import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthMethod;
-import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthSigningAlg;
-import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseAlg;
-import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseEnc;
-import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
 
 /**
  * Unmarshaller for {@link OAuthRPExtensions} objects.
@@ -60,48 +40,8 @@ public class OAuthRPExtensionsUnmarshaller extends AbstractSAMLObjectUnmarshalle
             throws UnmarshallingException {
         final OAuthRPExtensions descriptor = (OAuthRPExtensions) parentSAMLObject;
 
-        if (childSAMLObject instanceof ResponseType) {
-            descriptor.getResponseTypes().add((ResponseType) childSAMLObject);
-        } else if (childSAMLObject instanceof GrantType) {
-            descriptor.getGrantTypes().add((GrantType) childSAMLObject);
-        } else if (childSAMLObject instanceof ApplicationType) {
-            descriptor.setApplicationType((ApplicationType) childSAMLObject);
-        } else if (childSAMLObject instanceof TokenEndpointAuthMethod) {
-            descriptor.setTokenEndpointAuthMethod((TokenEndpointAuthMethod) childSAMLObject);
-        } else if (childSAMLObject instanceof ClientUri) {
-            descriptor.setClientUri((ClientUri) childSAMLObject);
-        } else if (childSAMLObject instanceof Scope) {
-            descriptor.getScopes().add((Scope) childSAMLObject);
-        } else if (childSAMLObject instanceof SoftwareId) {
-            descriptor.setSoftwareId((SoftwareId) childSAMLObject);
-        } else if (childSAMLObject instanceof SoftwareVersion) {
-            descriptor.setSoftwareVersion((SoftwareVersion) childSAMLObject);
-        } else if (childSAMLObject instanceof SectorIdentifierUri) {
-            descriptor.setSectorIdentifierUri((SectorIdentifierUri) childSAMLObject);
-        } else if (childSAMLObject instanceof IdTokenSignedResponseAlg) {
-            descriptor.setIdTokenSignedResponseAlg((IdTokenSignedResponseAlg) childSAMLObject);
-        } else if (childSAMLObject instanceof IdTokenEncryptedResponseAlg) {
-            descriptor.setIdTokenEncryptedResponseAlg((IdTokenEncryptedResponseAlg) childSAMLObject);
-        } else if (childSAMLObject instanceof IdTokenEncryptedResponseEnc) {
-            descriptor.setIdTokenEncryptedResponseEnc((IdTokenEncryptedResponseEnc) childSAMLObject);
-        } else if (childSAMLObject instanceof UserInfoSignedResponseAlg) {
-            descriptor.setUserInfoSignedResponseAlg((UserInfoSignedResponseAlg) childSAMLObject);
-        } else if (childSAMLObject instanceof UserInfoEncryptedResponseAlg) {
-            descriptor.setUserInfoEncryptedResponseAlg((UserInfoEncryptedResponseAlg) childSAMLObject);
-        } else if (childSAMLObject instanceof UserInfoEncryptedResponseEnc) {
-            descriptor.setUserInfoEncryptedResponseEnc((UserInfoEncryptedResponseEnc) childSAMLObject);
-        } else if (childSAMLObject instanceof RequestObjectSigningAlg) {
-            descriptor.setRequestObjectSigningAlg((RequestObjectSigningAlg) childSAMLObject);
-        } else if (childSAMLObject instanceof RequestObjectEncryptionAlg) {
-            descriptor.setRequestObjectEncryptionAlg((RequestObjectEncryptionAlg) childSAMLObject);
-        } else if (childSAMLObject instanceof RequestObjectEncryptionEnc) {
-            descriptor.setRequestObjectEncryptionEnc((RequestObjectEncryptionEnc) childSAMLObject);
-        } else if (childSAMLObject instanceof TokenEndpointAuthSigningAlg) {
-            descriptor.setTokenEndpointAuthSigningAlg((TokenEndpointAuthSigningAlg) childSAMLObject);
-        } else if (childSAMLObject instanceof DefaultAcrValue) {
+        if (childSAMLObject instanceof DefaultAcrValue) {
             descriptor.getDefaultAcrValues().add((DefaultAcrValue) childSAMLObject);
-        } else if (childSAMLObject instanceof InitiateLoginUri) {
-            descriptor.setInitiateLoginUri((InitiateLoginUri) childSAMLObject);
         } else if (childSAMLObject instanceof RequestUri) {
             descriptor.getRequestUris().add((RequestUri) childSAMLObject);
         } else if (childSAMLObject instanceof PostLogoutRedirectUri) {
@@ -122,6 +62,46 @@ public class OAuthRPExtensionsUnmarshaller extends AbstractSAMLObjectUnmarshalle
             } else if (attribute.getLocalName().equals(OAuthRPExtensions.REQUIRE_AUTH_TIME_ATTRIB_NAME)
                     && !Strings.isNullOrEmpty(attribute.getValue())) {
                 descriptor.setRequireAuthTime(Boolean.parseBoolean(attribute.getValue()));
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.TOKEN_ENDPOINT_AUTH_METHOD_ATTRIB_NAME)) {
+                descriptor.setTokenEndpointAuthMethod(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.GRANT_TYPES_ATTRIB_NAME)) {
+                descriptor.setGrantTypes(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.RESPONSE_TYPES_ATTRIB_NAME)) {
+                descriptor.setResponseTypes(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.APPLICATION_TYPE_ATTRIB_NAME)) {
+                descriptor.setApplicationType(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.CLIENT_URI_ATTRIB_NAME)) {
+                descriptor.setClientUri(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.SCOPES_ATTRIB_NAME)) {
+                descriptor.setScopes(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.SOFTWARE_ID_ATTRIB_NAME)) {
+                descriptor.setSoftwareId(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.SOFTWARE_VERSION_ATTRIB_NAME)) {
+                descriptor.setSoftwareVersion(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.SECTOR_IDENTIFIER_URI_ATTRIB_NAME)) {
+                descriptor.setSectorIdentifierUri(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.ID_TOKEN_SIGNED_RESPONSE_ALG_ATTRIB_NAME)) {
+                descriptor.setIdTokenSignedResponseAlg(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.ID_TOKEN_ENCRYPTED_RESPONSE_ALG_ATTRIB_NAME)) {
+                descriptor.setIdTokenEncryptedResponseAlg(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.ID_TOKEN_ENCRYPTED_RESPONSE_ENC_ATTRIB_NAME)) {
+                descriptor.setIdTokenEncryptedResponseEnc(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.USERINFO_SIGNED_RESPONSE_ALG_ATTRIB_NAME)) {
+                descriptor.setUserInfoSignedResponseAlg(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.USERINFO_ENCRYPTED_RESPONSE_ALG_ATTRIB_NAME)) {
+                descriptor.setUserInfoEncryptedResponseAlg(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.USERINFO_ENCRYPTED_RESPONSE_ENC_ATTRIB_NAME)) {
+                descriptor.setUserInfoEncryptedResponseEnc(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.REQUEST_OBJECT_SIGNING_ALG_ATTRIB_NAME)) {
+                descriptor.setRequestObjectSigningAlg(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.REQUEST_OBJECT_ENCRYPTION_ALG_ATTRIB_NAME)) {
+                descriptor.setRequestObjectEncryptionAlg(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.REQUEST_OBJECT_ENCRYPTION_ENC_ATTRIB_NAME)) {
+                descriptor.setRequestObjectEncryptionEnc(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.TOKEN_ENDPOINT_AUTH_SIGNING_ALG_ATTRIB_NAME)) {
+                descriptor.setTokenEndpointAuthSigningAlg(attribute.getValue());
+            } else if (attribute.getLocalName().equals(OAuthRPExtensions.INITIATE_LOGIN_URI_ATTRIB_NAME)) {
+                descriptor.setInitiateLoginUri(attribute.getValue());
             } else {
                 super.processAttribute(samlObject, attribute);
             }
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgBuilder.java
deleted file mode 100644
index 830dc23..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionAlg;
-
-/**
- * Builder of {@link RequestObjectEncryptionAlgImpl}.
- */
-public class RequestObjectEncryptionAlgBuilder extends AbstractSAMLObjectBuilder<RequestObjectEncryptionAlg> {
-
-    /**
-     * Constructor.
-     */
-    public RequestObjectEncryptionAlgBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public RequestObjectEncryptionAlg buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, RequestObjectEncryptionAlg.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public RequestObjectEncryptionAlg buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new RequestObjectEncryptionAlgImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgImpl.java
deleted file mode 100644
index 6e08b05..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgImpl.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionAlg;
-
-/**
- * Concrete implementation of {@link RequestObjectEncryptionAlg}.
- */
-public class RequestObjectEncryptionAlgImpl extends AbstractMetadataValueSAMLObject
-        implements RequestObjectEncryptionAlg {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected RequestObjectEncryptionAlgImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgMarshaller.java
deleted file mode 100644
index 0473f21..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionAlg;
-
-/**
- * A thread safe Marshaller for {@link RequestObjectEncryptionAlg} objects.
- */
-public class RequestObjectEncryptionAlgMarshaller extends AbstractMetadataValueMarshaller<RequestObjectEncryptionAlg> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgUnmarshaller.java
deleted file mode 100644
index 1829c69..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgUnmarshaller.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionAlg;
-
-/**
- * A thread-safe Unmarshaller for {@link RequestObjectEncryptionAlg} objects.
- */
-public class RequestObjectEncryptionAlgUnmarshaller
-        extends AbstractMetadataValueUnmarshaller<RequestObjectEncryptionAlg> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncBuilder.java
deleted file mode 100644
index 6a754fa..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionEnc;
-
-/**
- * Builder of {@link RequestObjectEncryptionEncImpl}.
- */
-public class RequestObjectEncryptionEncBuilder extends AbstractSAMLObjectBuilder<RequestObjectEncryptionEnc> {
-
-    /**
-     * Constructor.
-     */
-    public RequestObjectEncryptionEncBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public RequestObjectEncryptionEnc buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, RequestObjectEncryptionEnc.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public RequestObjectEncryptionEnc buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new RequestObjectEncryptionEncImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncImpl.java
deleted file mode 100644
index d8a7ca2..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncImpl.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionEnc;
-
-/**
- * Concrete implementation of {@link RequestObjectEncryptionEnc}.
- */
-public class RequestObjectEncryptionEncImpl extends AbstractMetadataValueSAMLObject
-        implements RequestObjectEncryptionEnc {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected RequestObjectEncryptionEncImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncMarshaller.java
deleted file mode 100644
index 59c9787..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionEnc;
-
-/**
- * A thread safe Marshaller for {@link RequestObjectEncryptionEnc} objects.
- */
-public class RequestObjectEncryptionEncMarshaller extends AbstractMetadataValueMarshaller<RequestObjectEncryptionEnc> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncUnmarshaller.java
deleted file mode 100644
index 9996d22..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncUnmarshaller.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionEnc;
-
-/**
- * A thread-safe Unmarshaller for {@link RequestObjectEncryptionEnc} objects.
- */
-public class RequestObjectEncryptionEncUnmarshaller
-        extends AbstractMetadataValueUnmarshaller<RequestObjectEncryptionEnc> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgBuilder.java
deleted file mode 100644
index 812544f..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectSigningAlg;
-
-/**
- * Builder of {@link RequestObjectSigningAlgImpl}.
- */
-public class RequestObjectSigningAlgBuilder extends AbstractSAMLObjectBuilder<RequestObjectSigningAlg> {
-
-    /**
-     * Constructor.
-     */
-    public RequestObjectSigningAlgBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public RequestObjectSigningAlg buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, RequestObjectSigningAlg.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public RequestObjectSigningAlg buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new RequestObjectSigningAlgImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgImpl.java
deleted file mode 100644
index 5d95c60..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgImpl.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectSigningAlg;
-
-/**
- * Concrete implementation of {@link RequestObjectSigningAlg}.
- */
-public class RequestObjectSigningAlgImpl extends AbstractMetadataValueSAMLObject implements RequestObjectSigningAlg {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected RequestObjectSigningAlgImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgMarshaller.java
deleted file mode 100644
index 0399749..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectSigningAlg;
-
-/**
- * A thread safe Marshaller for {@link RequestObjectSigningAlg} objects.
- */
-public class RequestObjectSigningAlgMarshaller extends AbstractMetadataValueMarshaller<RequestObjectSigningAlg> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgUnmarshaller.java
deleted file mode 100644
index 65a0afc..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgUnmarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectSigningAlg;
-
-/**
- * A thread-safe Unmarshaller for {@link RequestObjectSigningAlg} objects.
- */
-public class RequestObjectSigningAlgUnmarshaller extends AbstractMetadataValueUnmarshaller<RequestObjectSigningAlg> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeBuilder.java
deleted file mode 100644
index 11f7b78..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeBuilder.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.ResponseType;
-
-/**
- * Builder of {@link ResponseTypeImpl}.
- */
-public class ResponseTypeBuilder extends AbstractSAMLObjectBuilder<ResponseType> {
-
-    /**
-     * Constructor.
-     */
-    public ResponseTypeBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public ResponseType buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, ResponseType.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public ResponseType buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
-        return new ResponseTypeImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeImpl.java
deleted file mode 100644
index 2334cf5..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.ResponseType;
-
-/**
- * Concrete implementation of {@link ResponseType}.
- */
-public class ResponseTypeImpl extends AbstractMetadataValueSAMLObject implements ResponseType {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected ResponseTypeImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeMarshaller.java
deleted file mode 100644
index b957a85..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.ResponseType;
-
-/**
- * A thread safe Marshaller for {@link ResponseType} objects.
- */
-public class ResponseTypeMarshaller extends AbstractMetadataValueMarshaller<ResponseType> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeUnmarshaller.java
deleted file mode 100644
index 239b63f..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeUnmarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.ResponseType;
-
-/**
- * A thread-safe Unmarshaller for {@link ResponseType} objects.
- */
-public class ResponseTypeUnmarshaller extends AbstractMetadataValueUnmarshaller<ResponseType> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeBuilder.java
deleted file mode 100644
index df94daf..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeBuilder.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.Scope;
-
-/**
- * Builder of {@link ResponseTypeImpl}.
- */
-public class ScopeBuilder extends AbstractSAMLObjectBuilder<Scope> {
-
-    /**
-     * Constructor.
-     */
-    public ScopeBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public Scope buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, Scope.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public Scope buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
-        return new ScopeImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeImpl.java
deleted file mode 100644
index 791a46b..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.Scope;
-
-/**
- * Concrete implementation of {@link Scope}.
- */
-public class ScopeImpl extends AbstractMetadataValueSAMLObject implements Scope {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected ScopeImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeMarshaller.java
deleted file mode 100644
index 0c211dc..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.Scope;
-
-/**
- * A thread safe Marshaller for {@link Scope} objects.
- */
-public class ScopeMarshaller extends AbstractMetadataValueMarshaller<Scope> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeUnmarshaller.java
deleted file mode 100644
index efd6233..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeUnmarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.Scope;
-
-/**
- * A thread-safe Unmarshaller for {@link Scope} objects.
- */
-public class ScopeUnmarshaller extends AbstractMetadataValueUnmarshaller<Scope> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriBuilder.java
deleted file mode 100644
index 7cf7049..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.SectorIdentifierUri;
-
-/**
- * Builder of {@link SectorIdentifierUriImpl}.
- */
-public class SectorIdentifierUriBuilder extends AbstractSAMLObjectBuilder<SectorIdentifierUri> {
-
-    /**
-     * Constructor.
-     */
-    public SectorIdentifierUriBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public SectorIdentifierUri buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, SectorIdentifierUri.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public SectorIdentifierUri buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new SectorIdentifierUriImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriImpl.java
deleted file mode 100644
index 17c336f..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriImpl.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.SectorIdentifierUri;
-
-/**
- * Concrete implementation of {@link SectorIdentifierUri}.
- */
-public class SectorIdentifierUriImpl extends AbstractMetadataValueSAMLObject implements SectorIdentifierUri {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected SectorIdentifierUriImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriMarshaller.java
deleted file mode 100644
index 771eb5a..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.SectorIdentifierUri;
-
-/**
- * A thread safe Marshaller for {@link SectorIdentifierUri} objects.
- */
-public class SectorIdentifierUriMarshaller extends AbstractMetadataValueMarshaller<SectorIdentifierUri> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriUnmarshaller.java
deleted file mode 100644
index 845d927..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriUnmarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.SectorIdentifierUri;
-
-/**
- * A thread-safe Unmarshaller for {@link SectorIdentifierUri} objects.
- */
-public class SectorIdentifierUriUnmarshaller extends AbstractMetadataValueUnmarshaller<SectorIdentifierUri> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdBuilder.java
deleted file mode 100644
index db11f37..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdBuilder.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.SoftwareId;
-
-/**
- * Builder of {@link SoftwareIdImpl}.
- */
-public class SoftwareIdBuilder extends AbstractSAMLObjectBuilder<SoftwareId> {
-
-    /**
-     * Constructor.
-     */
-    public SoftwareIdBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public SoftwareId buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, SoftwareId.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public SoftwareId buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
-        return new SoftwareIdImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdImpl.java
deleted file mode 100644
index 9893dcc..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.SoftwareId;
-
-/**
- * Concrete implementation of {@link SoftwareId}.
- */
-public class SoftwareIdImpl extends AbstractMetadataValueSAMLObject implements SoftwareId {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected SoftwareIdImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdMarshaller.java
deleted file mode 100644
index a9dd1a5..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.SoftwareId;
-
-/**
- * A thread safe Marshaller for {@link SoftwareId} objects.
- */
-public class SoftwareIdMarshaller extends AbstractMetadataValueMarshaller<SoftwareId> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdUnmarshaller.java
deleted file mode 100644
index 6a2fbf8..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdUnmarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.SoftwareId;
-
-/**
- * A thread-safe Unmarshaller for {@link SoftwareId} objects.
- */
-public class SoftwareIdUnmarshaller extends AbstractMetadataValueUnmarshaller<SoftwareId> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionBuilder.java
deleted file mode 100644
index 0333890..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.SoftwareVersion;
-
-/**
- * Builder of {@link SoftwareVersionImpl}.
- */
-public class SoftwareVersionBuilder extends AbstractSAMLObjectBuilder<SoftwareVersion> {
-
-    /**
-     * Constructor.
-     */
-    public SoftwareVersionBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public SoftwareVersion buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, SoftwareVersion.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public SoftwareVersion buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new SoftwareVersionImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionImpl.java
deleted file mode 100644
index 97b1eab..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionImpl.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.SoftwareVersion;
-
-/**
- * Concrete implementation of {@link SoftwareVersion}.
- */
-public class SoftwareVersionImpl extends AbstractMetadataValueSAMLObject implements SoftwareVersion {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected SoftwareVersionImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionMarshaller.java
deleted file mode 100644
index 8d675ec..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.SoftwareVersion;
-
-/**
- * A thread safe Marshaller for {@link SoftwareVersion} objects.
- */
-public class SoftwareVersionMarshaller extends AbstractMetadataValueMarshaller<SoftwareVersion> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionUnmarshaller.java
deleted file mode 100644
index b78c570..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionUnmarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.SoftwareVersion;
-
-/**
- * A thread-safe Unmarshaller for {@link SoftwareVersion} objects.
- */
-public class SoftwareVersionUnmarshaller extends AbstractMetadataValueUnmarshaller<SoftwareVersion> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodBuilder.java
deleted file mode 100644
index 523651f..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthMethod;
-
-/**
- * Builder of {@link TokenEndpointAuthMethodImpl}.
- */
-public class TokenEndpointAuthMethodBuilder extends AbstractSAMLObjectBuilder<TokenEndpointAuthMethod> {
-
-    /**
-     * Constructor.
-     */
-    public TokenEndpointAuthMethodBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public TokenEndpointAuthMethod buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, TokenEndpointAuthMethod.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public TokenEndpointAuthMethod buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new TokenEndpointAuthMethodImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodImpl.java
deleted file mode 100644
index e2eafc5..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodImpl.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthMethod;
-
-/**
- * Concrete implementation of {@link TokenEndpointAuthMethod}.
- */
-public class TokenEndpointAuthMethodImpl extends AbstractMetadataValueSAMLObject implements TokenEndpointAuthMethod {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected TokenEndpointAuthMethodImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodMarshaller.java
deleted file mode 100644
index 63f1fff..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthMethod;
-
-/**
- * A thread safe Marshaller for {@link TokenEndpointAuthMethod} objects.
- */
-public class TokenEndpointAuthMethodMarshaller extends AbstractMetadataValueMarshaller<TokenEndpointAuthMethod> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodUnmarshaller.java
deleted file mode 100644
index 4952feb..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodUnmarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthMethod;
-
-/**
- * A thread-safe Unmarshaller for {@link TokenEndpointAuthMethod} objects.
- */
-public class TokenEndpointAuthMethodUnmarshaller extends AbstractMetadataValueUnmarshaller<TokenEndpointAuthMethod> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgBuilder.java
deleted file mode 100644
index e06fedd..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthSigningAlg;
-
-/**
- * Builder of {@link TokenEndpointAuthSigningAlgImpl}.
- */
-public class TokenEndpointAuthSigningAlgBuilder extends AbstractSAMLObjectBuilder<TokenEndpointAuthSigningAlg> {
-
-    /**
-     * Constructor.
-     */
-    public TokenEndpointAuthSigningAlgBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public TokenEndpointAuthSigningAlg buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, TokenEndpointAuthSigningAlg.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public TokenEndpointAuthSigningAlg buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new TokenEndpointAuthSigningAlgImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgImpl.java
deleted file mode 100644
index dbd2ecb..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgImpl.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthSigningAlg;
-
-/**
- * Concrete implementation of {@link TokenEndpointAuthSigningAlg}.
- */
-public class TokenEndpointAuthSigningAlgImpl extends AbstractMetadataValueSAMLObject
-        implements TokenEndpointAuthSigningAlg {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected TokenEndpointAuthSigningAlgImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgMarshaller.java
deleted file mode 100644
index 3db5c43..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgMarshaller.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthSigningAlg;
-
-/**
- * A thread safe Marshaller for {@link TokenEndpointAuthSigningAlg} objects.
- */
-public class TokenEndpointAuthSigningAlgMarshaller
-        extends AbstractMetadataValueMarshaller<TokenEndpointAuthSigningAlg> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgUnmarshaller.java
deleted file mode 100644
index f1eaf1d..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgUnmarshaller.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthSigningAlg;
-
-/**
- * A thread-safe Unmarshaller for {@link TokenEndpointAuthSigningAlg} objects.
- */
-public class TokenEndpointAuthSigningAlgUnmarshaller
-        extends AbstractMetadataValueUnmarshaller<TokenEndpointAuthSigningAlg> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgBuilder.java
deleted file mode 100644
index 24960f2..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseAlg;
-
-/**
- * Builder of {@link UserInfoEncryptedResponseAlgImpl}.
- */
-public class UserInfoEncryptedResponseAlgBuilder extends AbstractSAMLObjectBuilder<UserInfoEncryptedResponseAlg> {
-
-    /**
-     * Constructor.
-     */
-    public UserInfoEncryptedResponseAlgBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public UserInfoEncryptedResponseAlg buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, UserInfoEncryptedResponseAlg.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public UserInfoEncryptedResponseAlg buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new UserInfoEncryptedResponseAlgImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgImpl.java
deleted file mode 100644
index 07fed6d..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgImpl.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseAlg;
-
-/**
- * Concrete implementation of {@link UserInfoEncryptedResponseAlg}.
- */
-public class UserInfoEncryptedResponseAlgImpl extends AbstractMetadataValueSAMLObject
-        implements UserInfoEncryptedResponseAlg {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected UserInfoEncryptedResponseAlgImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgMarshaller.java
deleted file mode 100644
index 44154c5..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgMarshaller.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseAlg;
-
-/**
- * A thread safe Marshaller for {@link UserInfoEncryptedResponseAlg} objects.
- */
-public class UserInfoEncryptedResponseAlgMarshaller
-        extends AbstractMetadataValueMarshaller<UserInfoEncryptedResponseAlg> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgUnmarshaller.java
deleted file mode 100644
index a751dc5..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgUnmarshaller.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseAlg;
-
-/**
- * A thread-safe Unmarshaller for {@link UserInfoEncryptedResponseAlg} objects.
- */
-public class UserInfoEncryptedResponseAlgUnmarshaller
-        extends AbstractMetadataValueUnmarshaller<UserInfoEncryptedResponseAlg> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncBuilder.java
deleted file mode 100644
index 9e46383..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseEnc;
-
-/**
- * Builder of {@link UserInfoEncryptedResponseEncImpl}.
- */
-public class UserInfoEncryptedResponseEncBuilder extends AbstractSAMLObjectBuilder<UserInfoEncryptedResponseEnc> {
-
-    /**
-     * Constructor.
-     */
-    public UserInfoEncryptedResponseEncBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public UserInfoEncryptedResponseEnc buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, UserInfoEncryptedResponseEnc.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public UserInfoEncryptedResponseEnc buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new UserInfoEncryptedResponseEncImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncImpl.java
deleted file mode 100644
index 5a4084d..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncImpl.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseEnc;
-
-/**
- * Concrete implementation of {@link UserInfoEncryptedResponseEnc}.
- */
-public class UserInfoEncryptedResponseEncImpl extends AbstractMetadataValueSAMLObject
-        implements UserInfoEncryptedResponseEnc {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected UserInfoEncryptedResponseEncImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncMarshaller.java
deleted file mode 100644
index 3f5efce..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncMarshaller.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseEnc;
-
-/**
- * A thread safe Marshaller for {@link UserInfoEncryptedResponseEnc} objects.
- */
-public class UserInfoEncryptedResponseEncMarshaller
-        extends AbstractMetadataValueMarshaller<UserInfoEncryptedResponseEnc> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncUnmarshaller.java
deleted file mode 100644
index 89b1bdb..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncUnmarshaller.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseEnc;
-
-/**
- * A thread-safe Unmarshaller for {@link UserInfoEncryptedResponseEnc} objects.
- */
-public class UserInfoEncryptedResponseEncUnmarshaller
-        extends AbstractMetadataValueUnmarshaller<UserInfoEncryptedResponseEnc> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgBuilder.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgBuilder.java
deleted file mode 100644
index 9df301d..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgBuilder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-
-import net.shibboleth.oidc.saml.xmlobject.Constants;
-import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
-
-/**
- * Builder of {@link UserInfoSignedResponseAlgImpl}.
- */
-public class UserInfoSignedResponseAlgBuilder extends AbstractSAMLObjectBuilder<UserInfoSignedResponseAlg> {
-
-    /**
-     * Constructor.
-     */
-    public UserInfoSignedResponseAlgBuilder() {
-
-    }
-
-    /** {@inheritDoc} */
-    public UserInfoSignedResponseAlg buildObject() {
-        return buildObject(Constants.SAML20MDOIDCMD_NS, UserInfoSignedResponseAlg.DEFAULT_ELEMENT_LOCAL_NAME,
-                Constants.SAML20MDOIDCMD_PREFIX);
-    }
-
-    /** {@inheritDoc} */
-    public UserInfoSignedResponseAlg buildObject(final String namespaceURI, final String localName,
-            final String namespacePrefix) {
-        return new UserInfoSignedResponseAlgImpl(namespaceURI, localName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgImpl.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgImpl.java
deleted file mode 100644
index 68eb02c..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgImpl.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
-
-/**
- * Concrete implementation of {@link UserInfoSignedResponseAlg}.
- */
-public class UserInfoSignedResponseAlgImpl extends AbstractMetadataValueSAMLObject
-        implements UserInfoSignedResponseAlg {
-
-    /**
-     * Constructor.
-     * 
-     * @param namespaceURI the namespace the element is in
-     * @param elementLocalName the local name of the XML element this Object represents
-     * @param namespacePrefix the prefix for the given namespace
-     */
-    protected UserInfoSignedResponseAlgImpl(final String namespaceURI, final String elementLocalName,
-            final String namespacePrefix) {
-        super(namespaceURI, elementLocalName, namespacePrefix);
-    }
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgMarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgMarshaller.java
deleted file mode 100644
index 9b211d0..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgMarshaller.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
-
-/**
- * A thread safe Marshaller for {@link UserInfoSignedResponseAlg} objects.
- */
-public class UserInfoSignedResponseAlgMarshaller extends AbstractMetadataValueMarshaller<UserInfoSignedResponseAlg> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgUnmarshaller.java b/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgUnmarshaller.java
deleted file mode 100644
index 346ad82..0000000
--- a/oidc-common-saml-impl/src/main/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgUnmarshaller.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
-
-/**
- * A thread-safe Unmarshaller for {@link UserInfoSignedResponseAlg} objects.
- */
-public class UserInfoSignedResponseAlgUnmarshaller
-        extends AbstractMetadataValueUnmarshaller<UserInfoSignedResponseAlg> {
-
-}
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/main/resources/saml2-metadata-oidcmd-config.xml b/oidc-common-saml-impl/src/main/resources/saml2-metadata-oidcmd-config.xml
index 59ad4b4..48a9f2c 100644
--- a/oidc-common-saml-impl/src/main/resources/saml2-metadata-oidcmd-config.xml
+++ b/oidc-common-saml-impl/src/main/resources/saml2-metadata-oidcmd-config.xml
@@ -1,15 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <XMLTooling xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0" xmlns="http://www.opensaml.org/xmltooling-config" xsi:schemaLocation="http://www.opensaml.org/xmltooling-config ../../src/schema/xmltooling-config.xsd">
 
-    <!-- SAML 2.0 Protocol Third-party Object providers -->
+    <!-- SAML Metadata OIDC profile object providers -->
     <ObjectProviders>
 
-        <ObjectProvider qualifiedName="oidcmd:ApplicationType">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.ApplicationTypeBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ApplicationTypeMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ApplicationTypeUnmarshaller"/>
-        </ObjectProvider>
-
         <ObjectProvider qualifiedName="oidcmd:ClientSecretKeyReference">
             <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientSecretKeyReferenceBuilder"/>
             <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientSecretKeyReferenceMarshaller"/>
@@ -22,48 +16,12 @@
             <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientSecretUnmarshaller"/>
         </ObjectProvider>
 
-        <ObjectProvider qualifiedName="oidcmd:ClientUri">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientUriBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientUriMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ClientUriUnmarshaller"/>
-        </ObjectProvider>
-
-        <ObjectProvider qualifiedName="oidcmd:DefaultAcrValue">
+        <ObjectProvider qualifiedName="oidcmd:default_acr_value">
             <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.DefaultAcrValueBuilder"/>
             <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.DefaultAcrValueMarshaller"/>
             <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.DefaultAcrValueUnmarshaller"/>
         </ObjectProvider>
 
-        <ObjectProvider qualifiedName="oidcmd:GrantType">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.GrantTypeBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.GrantTypeMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.GrantTypeUnmarshaller"/>
-        </ObjectProvider>
-
-        <ObjectProvider qualifiedName="oidcmd:IdTokenEncryptedResponseAlg">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenEncryptedResponseAlgBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenEncryptedResponseAlgMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenEncryptedResponseAlgUnmarshaller"/>
-        </ObjectProvider>
-        
-        <ObjectProvider qualifiedName="oidcmd:IdTokenEncryptedResponseEnc">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenEncryptedResponseEncBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenEncryptedResponseEncMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenEncryptedResponseEncUnmarshaller"/>
-        </ObjectProvider>
-        
-        <ObjectProvider qualifiedName="oidcmd:IdTokenSignedResponseAlg">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenSignedResponseAlgBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenSignedResponseAlgMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.IdTokenSignedResponseAlgUnmarshaller"/>
-        </ObjectProvider>
-        
-        <ObjectProvider qualifiedName="oidcmd:InitiateLoginUri">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.InitiateLoginUriBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.InitiateLoginUriMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.InitiateLoginUriUnmarshaller"/>
-        </ObjectProvider>
-        
         <ObjectProvider qualifiedName="oidcmd:JwksData">
             <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.JwksDataBuilder"/>
             <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.JwksDataMarshaller"/>
@@ -82,95 +40,17 @@
             <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.OAuthRPExtensionsUnmarshaller"/>
         </ObjectProvider>
         
-        <ObjectProvider qualifiedName="oidcmd:PostLogoutRedirectUri">
+        <ObjectProvider qualifiedName="oidcmd:post_logout_redirect_uri">
             <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.PostLogoutRedirectUriBuilder"/>
             <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.PostLogoutRedirectUriMarshaller"/>
             <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.PostLogoutRedirectUriUnmarshaller"/>
         </ObjectProvider>
 
-        <ObjectProvider qualifiedName="oidcmd:RequestObjectEncryptionAlg">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectEncryptionAlgBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectEncryptionAlgMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectEncryptionAlgUnmarshaller"/>
-        </ObjectProvider>
-
-        <ObjectProvider qualifiedName="oidcmd:RequestObjectEncryptionEnc">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectEncryptionEncBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectEncryptionEncMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectEncryptionEncUnmarshaller"/>
-        </ObjectProvider>
-
-        <ObjectProvider qualifiedName="oidcmd:RequestObjectSigningAlg">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectSigningAlgBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectSigningAlgMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestObjectSigningAlgUnmarshaller"/>
-        </ObjectProvider>
-
-        <ObjectProvider qualifiedName="oidcmd:RequestUri">
+        <ObjectProvider qualifiedName="oidcmd:request_uri">
             <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestUriBuilder"/>
             <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestUriMarshaller"/>
             <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.RequestUriUnmarshaller"/>
         </ObjectProvider>
 
-        <ObjectProvider qualifiedName="oidcmd:ResponseType">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.ResponseTypeBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ResponseTypeMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ResponseTypeUnmarshaller"/>
-        </ObjectProvider>
-        
-        <ObjectProvider qualifiedName="oidcmd:Scope">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.ScopeBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ScopeMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.ScopeUnmarshaller"/>
-        </ObjectProvider>
-
-        <ObjectProvider qualifiedName="oidcmd:SectorIdentifierUri">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.SectorIdentifierUriBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.SectorIdentifierUriMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.SectorIdentifierUriUnmarshaller"/>
-        </ObjectProvider>
-
-        <ObjectProvider qualifiedName="oidcmd:SoftwareId">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.SoftwareIdBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.SoftwareIdMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.SoftwareIdUnmarshaller"/>
-        </ObjectProvider>
-
-        <ObjectProvider qualifiedName="oidcmd:SoftwareVersion">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.SoftwareVersionBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.SoftwareVersionMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.SoftwareVersionUnmarshaller"/>
-        </ObjectProvider>
-
-        <ObjectProvider qualifiedName="oidcmd:TokenEndpointAuthMethod">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.TokenEndpointAuthMethodBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.TokenEndpointAuthMethodMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.TokenEndpointAuthMethodUnmarshaller"/>
-        </ObjectProvider>
-
-        <ObjectProvider qualifiedName="oidcmd:TokenEndpointAuthSigningAlg">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.TokenEndpointAuthSigningAlgBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.TokenEndpointAuthSigningAlgMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.TokenEndpointAuthSigningAlgUnmarshaller"/>
-        </ObjectProvider>
-
-        <ObjectProvider qualifiedName="oidcmd:UserInfoEncryptedResponseAlg">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoEncryptedResponseAlgBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoEncryptedResponseAlgMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoEncryptedResponseAlgUnmarshaller"/>
-        </ObjectProvider>
-
-        <ObjectProvider qualifiedName="oidcmd:UserInfoEncryptedResponseEnc">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoEncryptedResponseEncBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoEncryptedResponseEncMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoEncryptedResponseEncUnmarshaller"/>
-        </ObjectProvider>
-
-        <ObjectProvider qualifiedName="oidcmd:UserInfoSignedResponseAlg">
-            <BuilderClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoSignedResponseAlgBuilder"/>
-            <MarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoSignedResponseAlgMarshaller"/>
-            <UnmarshallingClass className="net.shibboleth.oidc.saml.xmlobject.impl.UserInfoSignedResponseAlgUnmarshaller"/>
-        </ObjectProvider>
-
     </ObjectProviders>
 </XMLTooling>
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeTest.java
deleted file mode 100644
index 463cd23..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationTypeTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.ApplicationType;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link ApplicationType}.
- */
-public class ApplicationTypeTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public ApplicationTypeTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationType.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "web";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return ApplicationType.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriTest.java
deleted file mode 100644
index f4787bc..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ClientUriTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.ClientUri;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link ClientUri}.
- */
-public class ClientUriTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public ClientUriTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/ClientUri.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "https://example.org";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return ClientUri.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeTest.java
deleted file mode 100644
index c8a6cea..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/GrantTypeTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.GrantType;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link GrantType}.
- */
-public class GrantTypeTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public GrantTypeTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/GrantType.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "authorization_code";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return GrantType.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgTest.java
deleted file mode 100644
index 484eb33..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlgTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseAlg;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link IdTokenEncryptedResponseAlg}.
- */
-public class IdTokenEncryptedResponseAlgTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public IdTokenEncryptedResponseAlgTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlg.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "IdTokenEncryptedResponseAlgValue";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return IdTokenEncryptedResponseAlg.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncTest.java
deleted file mode 100644
index 87fc47d..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEncTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.IdTokenEncryptedResponseEnc;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link IdTokenEncryptedResponseEnc}.
- */
-public class IdTokenEncryptedResponseEncTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public IdTokenEncryptedResponseEncTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEnc.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "IdTokenEncryptedResponseEncValue";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return IdTokenEncryptedResponseEnc.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgTest.java
deleted file mode 100644
index ea4d034..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlgTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.IdTokenSignedResponseAlg;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link IdTokenSignedResponseAlg}.
- */
-public class IdTokenSignedResponseAlgTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public IdTokenSignedResponseAlgTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlg.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "IdTokenSignedResponseAlgValue";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return IdTokenSignedResponseAlg.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriTest.java
deleted file mode 100644
index e6c6518..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUriTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.InitiateLoginUri;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link InitiateLoginUri}.
- */
-public class InitiateLoginUriTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public InitiateLoginUriTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUri.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "https://example.org/start";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return InitiateLoginUri.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsTest.java
index c012df3..32366fc 100644
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsTest.java
+++ b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensionsTest.java
@@ -17,7 +17,6 @@
 
 package net.shibboleth.oidc.saml.xmlobject.impl;
 
-import java.util.Arrays;
 import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
@@ -26,8 +25,6 @@ import javax.xml.namespace.QName;
 
 import org.opensaml.core.testing.XMLObjectProviderBaseTestCase;
 import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
-import org.opensaml.saml.common.xml.SAMLConstants;
-import org.opensaml.saml.saml2.metadata.NameIDFormat;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
@@ -57,54 +54,33 @@ public class OAuthRPExtensionsTest extends XMLObjectProviderBaseTestCase {
     public void testChildElementsMarshall() {
 
         final OAuthRPExtensions rpExtensions = (OAuthRPExtensions) buildXMLObject(OAuthRPExtensions.TYPE_NAME);
-        rpExtensions.setApplicationType(buildMetadataValueObject(new ApplicationTypeBuilder(), "web"));
-        rpExtensions.setClientUri(buildMetadataValueObject(new ClientUriBuilder(), "https://example.org/clientUri"));
+        rpExtensions.setApplicationType("web");
+        rpExtensions.setClientUri("https://example.org/clientUri");
         rpExtensions.getDefaultAcrValues().add(buildMetadataValueObject(new DefaultAcrValueBuilder(), "password"));
         rpExtensions.getDefaultAcrValues().add(buildMetadataValueObject(new DefaultAcrValueBuilder(), "mfa"));
-        rpExtensions.getGrantTypes().add(buildMetadataValueObject(new GrantTypeBuilder(), "authorization_code"));
-        rpExtensions.setIdTokenEncryptedResponseAlg(buildMetadataValueObject(new IdTokenEncryptedResponseAlgBuilder(),
-                "A256KW"));
-        rpExtensions.setIdTokenEncryptedResponseEnc(buildMetadataValueObject(new IdTokenEncryptedResponseEncBuilder(),
-                "A256GCM"));
-        rpExtensions.setIdTokenSignedResponseAlg(buildMetadataValueObject(new IdTokenSignedResponseAlgBuilder(),
-                "RS512"));
-        rpExtensions.setInitiateLoginUri(buildMetadataValueObject(new InitiateLoginUriBuilder(),
-                "https://example.org/initiateLogin"));
+        rpExtensions.setGrantTypes("authorization_code");
+        rpExtensions.setIdTokenEncryptedResponseAlg("A256KW");
+        rpExtensions.setIdTokenEncryptedResponseEnc("A256GCM");
+        rpExtensions.setIdTokenSignedResponseAlg("RS512");
+        rpExtensions.setInitiateLoginUri("https://example.org/initiateLogin");
         rpExtensions.getPostLogoutRedirectUris().add(buildMetadataValueObject(new PostLogoutRedirectUriBuilder(),
                 "https://example.org/postLogout"));
-        rpExtensions.setRequestObjectEncryptionAlg(buildMetadataValueObject(new RequestObjectEncryptionAlgBuilder(), 
-                "A128KW"));
-        rpExtensions.setRequestObjectEncryptionEnc(buildMetadataValueObject(new RequestObjectEncryptionEncBuilder(),
-                "A128GCM"));
-        rpExtensions.setRequestObjectSigningAlg(buildMetadataValueObject(new RequestObjectSigningAlgBuilder(),
-                "RS256"));
+        rpExtensions.setRequestObjectEncryptionAlg("A128KW");
+        rpExtensions.setRequestObjectEncryptionEnc("A128GCM");
+        rpExtensions.setRequestObjectSigningAlg("RS256");
         rpExtensions.getRequestUris().add(buildMetadataValueObject(new RequestUriBuilder(),
                 "https://example.org/request"));
-        rpExtensions.getResponseTypes().add(buildMetadataValueObject(new ResponseTypeBuilder(), "code"));
-        rpExtensions.getResponseTypes().add(buildMetadataValueObject(new ResponseTypeBuilder(), "id_token"));
-        rpExtensions.getScopes().add(buildMetadataValueObject(new ScopeBuilder(), "openid"));
-        rpExtensions.getScopes().add(buildMetadataValueObject(new ScopeBuilder(), "profile"));
-        rpExtensions.setSoftwareId(buildMetadataValueObject(new SoftwareIdBuilder(), "mockSoftwareId"));
-        rpExtensions.setSoftwareVersion(buildMetadataValueObject(new SoftwareVersionBuilder(),
-                "mockSoftwareVersion"));
-        rpExtensions.setTokenEndpointAuthMethod(buildMetadataValueObject(new TokenEndpointAuthMethodBuilder(),
-                "client_secret_basic"));
-        rpExtensions.setTokenEndpointAuthSigningAlg(buildMetadataValueObject(new TokenEndpointAuthSigningAlgBuilder(),
-                "RS512"));
-        rpExtensions.setSectorIdentifierUri(buildMetadataValueObject(new SectorIdentifierUriBuilder(),
-                "https://example.org/sectorIdentifier"));
-        rpExtensions.setUserInfoEncryptedResponseAlg(buildMetadataValueObject(
-                new UserInfoEncryptedResponseAlgBuilder(), "A192KW"));
-        rpExtensions.setUserInfoEncryptedResponseEnc(buildMetadataValueObject(
-                new UserInfoEncryptedResponseEncBuilder(), "A192GCM"));
-        rpExtensions.setUserInfoSignedResponseAlg(buildMetadataValueObject(new UserInfoSignedResponseAlgBuilder(),
-                "RS384"));
+        rpExtensions.setResponseTypes("code id_token");
+        rpExtensions.setScopes("openid profile");
+        rpExtensions.setSoftwareId("mockSoftwareId");
+        rpExtensions.setSoftwareVersion("mockSoftwareVersion");
+        rpExtensions.setTokenEndpointAuthMethod("client_secret_basic");
+        rpExtensions.setTokenEndpointAuthSigningAlg("RS512");
+        rpExtensions.setSectorIdentifierUri("https://example.org/sectorIdentifier");
+        rpExtensions.setUserInfoEncryptedResponseAlg("A192KW");
+        rpExtensions.setUserInfoEncryptedResponseEnc("A192GCM");
+        rpExtensions.setUserInfoSignedResponseAlg("RS384");
         rpExtensions.getUnknownAttributes().put(ATTRIBUTE_EXT_QNAME, ATTRIBUTE_EXT_VALUE);
-        
-        final QName nameIDFormatQName =
-                new QName(SAMLConstants.SAML20MD_NS, NameIDFormat.DEFAULT_ELEMENT_LOCAL_NAME,
-                        SAMLConstants.SAML20MD_PREFIX);
-        rpExtensions.getUnknownXMLObjects().add((NameIDFormat) buildXMLObject(nameIDFormatQName));
 
         assertXMLEquals(expectedChildElementsDOM, rpExtensions);
     }
@@ -118,58 +94,53 @@ public class OAuthRPExtensionsTest extends XMLObjectProviderBaseTestCase {
         final Object attributeExt = rpExtensions.getUnknownAttributes().get(ATTRIBUTE_EXT_QNAME);
         Assert.assertNotNull(attributeExt);
         Assert.assertEquals(attributeExt, ATTRIBUTE_EXT_VALUE);
-        
-        final QName nameIDFormatQName =
-                new QName(SAMLConstants.SAML20MD_NS, NameIDFormat.DEFAULT_ELEMENT_LOCAL_NAME,
-                        SAMLConstants.SAML20MD_PREFIX);
-        Assert.assertNotNull(rpExtensions.getUnknownXMLObjects(nameIDFormatQName));
-        
-        assertMetadataValue(rpExtensions.getApplicationType(), "web", 
+                
+        Assert.assertEquals(rpExtensions.getApplicationType(), "web",
                 "The application type did not have expected value");
-        assertMetadataValue(rpExtensions.getClientUri(), "https://example.org/clientUri", 
+        Assert.assertEquals(rpExtensions.getClientUri(), "https://example.org/clientUri",
                 "The client URI did not have expected value");
-        assertMetadataValueList(rpExtensions.getDefaultAcrValues(), Arrays.asList("password", "mfa"),
+        assertMetadataValueList(rpExtensions.getDefaultAcrValues(), List.of("password", "mfa"),
                 "The default ACR values did not have expected value");
-        assertMetadataValueList(rpExtensions.getGrantTypes(), Arrays.asList("authorization_code"),
+        Assert.assertEquals(rpExtensions.getGrantTypes(), "authorization_code",
                 "The grant types did not have expected value");
-        assertMetadataValue(rpExtensions.getIdTokenEncryptedResponseAlg(), "A256KW",
+        Assert.assertEquals(rpExtensions.getIdTokenEncryptedResponseAlg(), "A256KW",
                 "The IDToken encrypted response alg did not have expected value");
-        assertMetadataValue(rpExtensions.getIdTokenEncryptedResponseEnc(), "A256GCM",
+        Assert.assertEquals(rpExtensions.getIdTokenEncryptedResponseEnc(), "A256GCM",
                 "The IDToken encrypted response enc did not have expected value");
-        assertMetadataValue(rpExtensions.getIdTokenSignedResponseAlg(), "RS512",
+        Assert.assertEquals(rpExtensions.getIdTokenSignedResponseAlg(), "RS512",
                 "The IDToken signed response alg did not have expected value");
-        assertMetadataValue(rpExtensions.getInitiateLoginUri(), "https://example.org/initiateLogin",
+        Assert.assertEquals(rpExtensions.getInitiateLoginUri(), "https://example.org/initiateLogin",
                 "The initiate login URI did not have expected value");
         assertMetadataValueList(rpExtensions.getPostLogoutRedirectUris(),
-                Arrays.asList("https://example.org/postLogout"),
+                List.of("https://example.org/postLogout"),
                 "The post logout redirect URIs did not have expected value");
-        assertMetadataValue(rpExtensions.getRequestObjectEncryptionAlg(), "A128KW",
+        Assert.assertEquals(rpExtensions.getRequestObjectEncryptionAlg(), "A128KW",
                 "The request object encryption alg did not have expected value");
-        assertMetadataValue(rpExtensions.getRequestObjectEncryptionEnc(), "A128GCM",
+        Assert.assertEquals(rpExtensions.getRequestObjectEncryptionEnc(), "A128GCM",
                 "The request object encryption enc did not have expected value");
-        assertMetadataValue(rpExtensions.getRequestObjectSigningAlg(), "RS256",
+        Assert.assertEquals(rpExtensions.getRequestObjectSigningAlg(), "RS256",
                 "The request object signing alg did not have expected value");
-        assertMetadataValueList(rpExtensions.getRequestUris(), Arrays.asList("https://example.org/request"),
+        assertMetadataValueList(rpExtensions.getRequestUris(), List.of("https://example.org/request"),
                 "The request URIs did not have expected value");
-        assertMetadataValueList(rpExtensions.getResponseTypes(), Arrays.asList("code", "id_token"),
+        Assert.assertEquals(rpExtensions.getResponseTypes(), "code id_token",
                 "The response types did not have expected value");
-        assertMetadataValueList(rpExtensions.getScopes(), Arrays.asList("openid", "profile"),
+        Assert.assertEquals(rpExtensions.getScopes(),"openid profile",
                 "The scope did not have expected value");
-        assertMetadataValue(rpExtensions.getSoftwareId(), "mockSoftwareId",
+        Assert.assertEquals(rpExtensions.getSoftwareId(), "mockSoftwareId",
                 "The software ID did not have expected value");
-        assertMetadataValue(rpExtensions.getSoftwareVersion(), "mockSoftwareVersion",
+        Assert.assertEquals(rpExtensions.getSoftwareVersion(), "mockSoftwareVersion",
                 "The software version did not have expected value");
-        assertMetadataValue(rpExtensions.getTokenEndpointAuthMethod(), "client_secret_basic",
+        Assert.assertEquals(rpExtensions.getTokenEndpointAuthMethod(), "client_secret_basic",
                 "The token endpoint auth method did not have expected value");
-        assertMetadataValue(rpExtensions.getTokenEndpointAuthSigningAlg(), "RS512",
+        Assert.assertEquals(rpExtensions.getTokenEndpointAuthSigningAlg(), "RS512",
                 "The token endpoint auth signing alg did not have expected value");
-        assertMetadataValue(rpExtensions.getSectorIdentifierUri(), "https://example.org/sectorIdentifier",
+        Assert.assertEquals(rpExtensions.getSectorIdentifierUri(), "https://example.org/sectorIdentifier",
                 "The sector identifier URI did not have expected value");
-        assertMetadataValue(rpExtensions.getUserInfoEncryptedResponseAlg(), "A192KW",
+        Assert.assertEquals(rpExtensions.getUserInfoEncryptedResponseAlg(), "A192KW",
                 "The user info encrypted response alg did not have expected value");
-        assertMetadataValue(rpExtensions.getUserInfoEncryptedResponseEnc(), "A192GCM",
+        Assert.assertEquals(rpExtensions.getUserInfoEncryptedResponseEnc(), "A192GCM",
                 "The user info encrypted response enc did not have expected value");
-        assertMetadataValue(rpExtensions.getUserInfoSignedResponseAlg(), "RS384",
+        Assert.assertEquals(rpExtensions.getUserInfoSignedResponseAlg(), "RS384",
                 "The user info signing response alg did not have expected value");
     }
     
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgTest.java
deleted file mode 100644
index 3fc7832..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlgTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionAlg;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link RequestObjectEncryptionAlg}.
- */
-public class RequestObjectEncryptionAlgTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public RequestObjectEncryptionAlgTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlg.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "RequestObjectEncryptionAlgValue";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return RequestObjectEncryptionAlg.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncTest.java
deleted file mode 100644
index ee7e68b..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEncTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectEncryptionEnc;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link RequestObjectEncryptionEnc}.
- */
-public class RequestObjectEncryptionEncTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public RequestObjectEncryptionEncTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEnc.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "RequestObjectEncryptionEncValue";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return RequestObjectEncryptionEnc.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgTest.java
deleted file mode 100644
index 21939e1..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlgTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.RequestObjectSigningAlg;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link RequestObjectSigningAlg}.
- */
-public class RequestObjectSigningAlgTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public RequestObjectSigningAlgTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlg.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "RequestObjectSigningAlgValue";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return RequestObjectSigningAlg.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeTest.java
deleted file mode 100644
index 7639ef6..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ResponseTypeTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.ResponseType;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link ResponseType}.
- */
-public class ResponseTypeTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public ResponseTypeTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/ResponseType.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "id_token";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return ResponseType.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeTest.java
deleted file mode 100644
index 554abb5..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/ScopeTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.Scope;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link Scope}.
- */
-public class ScopeTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public ScopeTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/Scope.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "profile";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return Scope.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriTest.java
deleted file mode 100644
index ca73da6..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUriTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.SectorIdentifierUri;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link SectorIdentifierUri}.
- */
-public class SectorIdentifierUriTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public SectorIdentifierUriTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUri.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "https://example.org/shared";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return SectorIdentifierUri.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdTest.java
deleted file mode 100644
index 70b26e6..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareIdTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.SoftwareId;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link SoftwareId}.
- */
-public class SoftwareIdTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public SoftwareIdTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareId.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "id12";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return SoftwareId.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionTest.java
deleted file mode 100644
index b23b225..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersionTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.SoftwareVersion;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link SoftwareVersion}.
- */
-public class SoftwareVersionTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public SoftwareVersionTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersion.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "1.0";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return SoftwareVersion.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodTest.java
deleted file mode 100644
index 54a14ef..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethodTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthMethod;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link TokenEndpointAuthMethod}.
- */
-public class TokenEndpointAuthMethodTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public TokenEndpointAuthMethodTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethod.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "client_secret_post";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return TokenEndpointAuthMethod.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgTest.java
deleted file mode 100644
index fca1335..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlgTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.TokenEndpointAuthSigningAlg;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link TokenEndpointAuthSigningAlg}.
- */
-public class TokenEndpointAuthSigningAlgTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public TokenEndpointAuthSigningAlgTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlg.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "TokenEndpointAuthSigningAlgValue";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return TokenEndpointAuthSigningAlg.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgTest.java
deleted file mode 100644
index 80bb4f5..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlgTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseAlg;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link UserInfoEncryptedResponseAlg}.
- */
-public class UserInfoEncryptedResponseAlgTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public UserInfoEncryptedResponseAlgTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlg.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "UserInfoEncryptedResponseAlgValue";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return UserInfoEncryptedResponseAlg.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncTest.java
deleted file mode 100644
index b3df641..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEncTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.UserInfoEncryptedResponseEnc;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link UserInfoEncryptedResponseEnc}.
- */
-public class UserInfoEncryptedResponseEncTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public UserInfoEncryptedResponseEncTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEnc.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "UserInfoEncryptedResponseEncValue";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return UserInfoEncryptedResponseEnc.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgTest.java b/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgTest.java
deleted file mode 100644
index 786fc4f..0000000
--- a/oidc-common-saml-impl/src/test/java/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlgTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.saml.xmlobject.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.oidc.saml.xmlobject.UserInfoSignedResponseAlg;
-
-/**
- * Test case for creating, marshalling, and unmarshalling {@link UserInfoSignedResponseAlg}.
- */
-public class UserInfoSignedResponseAlgTest extends BaseMetadataValueTest {
-    
-    /**
-     * Constructor
-     */
-    public UserInfoSignedResponseAlgTest() {
-        singleElementFile = "/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlg.xml";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected String getExpectedValue() {
-        return "UserInfoSignedResponseAlgValue";
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    protected QName getElementName() {
-        return UserInfoSignedResponseAlg.DEFAULT_ELEMENT_NAME;
-    }
-
-}
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationType.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationType.xml
deleted file mode 100644
index 1a68ca2..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ApplicationType.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:ApplicationType xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">web</oidcmd:ApplicationType>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ClientUri.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ClientUri.xml
deleted file mode 100644
index a221aa8..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ClientUri.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:ClientUri xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">https://example.org</oidcmd:ClientUri>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValue.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValue.xml
index a7e7ac5..ec25c04 100644
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValue.xml
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/DefaultAcrValue.xml
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:DefaultAcrValue xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">password</oidcmd:DefaultAcrValue>
\ No newline at end of file
+<oidcmd:default_acr_value xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">password</oidcmd:default_acr_value>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/GrantType.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/GrantType.xml
deleted file mode 100644
index 29074cb..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/GrantType.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:GrantType xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">authorization_code</oidcmd:GrantType>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlg.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlg.xml
deleted file mode 100644
index be48df6..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseAlg.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:IdTokenEncryptedResponseAlg xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">IdTokenEncryptedResponseAlgValue</oidcmd:IdTokenEncryptedResponseAlg>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEnc.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEnc.xml
deleted file mode 100644
index 9086d00..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenEncryptedResponseEnc.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:IdTokenEncryptedResponseEnc xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">IdTokenEncryptedResponseEncValue</oidcmd:IdTokenEncryptedResponseEnc>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlg.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlg.xml
deleted file mode 100644
index 2df0083..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/IdTokenSignedResponseAlg.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:IdTokenSignedResponseAlg xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">IdTokenSignedResponseAlgValue</oidcmd:IdTokenSignedResponseAlg>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUri.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUri.xml
deleted file mode 100644
index 00e8d43..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/InitiateLoginUri.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:InitiateLoginUri xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">https://example.org/start</oidcmd:InitiateLoginUri>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions.xml
index beeb691..8d62d7c 100644
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions.xml
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions.xml
@@ -1,30 +1,29 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:OAuthRPExtensions xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0" xmlns:unknown="urn:unknown:namespace" unknown:attributeExtension1="extensionValue1">
-    <oidcmd:ApplicationType>web</oidcmd:ApplicationType>
-    <oidcmd:ClientUri>https://example.org/clientUri</oidcmd:ClientUri>
-    <oidcmd:DefaultAcrValue>password</oidcmd:DefaultAcrValue>
-    <oidcmd:DefaultAcrValue>mfa</oidcmd:DefaultAcrValue>
-    <oidcmd:GrantType>authorization_code</oidcmd:GrantType>
-    <oidcmd:IdTokenEncryptedResponseAlg>A256KW</oidcmd:IdTokenEncryptedResponseAlg>
-    <oidcmd:IdTokenEncryptedResponseEnc>A256GCM</oidcmd:IdTokenEncryptedResponseEnc>
-    <oidcmd:IdTokenSignedResponseAlg>RS512</oidcmd:IdTokenSignedResponseAlg>
-    <oidcmd:InitiateLoginUri>https://example.org/initiateLogin</oidcmd:InitiateLoginUri>
-    <oidcmd:PostLogoutRedirectUri>https://example.org/postLogout</oidcmd:PostLogoutRedirectUri>
-    <oidcmd:RequestObjectEncryptionAlg>A128KW</oidcmd:RequestObjectEncryptionAlg>
-    <oidcmd:RequestObjectEncryptionEnc>A128GCM</oidcmd:RequestObjectEncryptionEnc>
-    <oidcmd:RequestObjectSigningAlg>RS256</oidcmd:RequestObjectSigningAlg>
-    <oidcmd:RequestUri>https://example.org/request</oidcmd:RequestUri>
-    <oidcmd:ResponseType>code</oidcmd:ResponseType>
-    <oidcmd:ResponseType>id_token</oidcmd:ResponseType>
-    <oidcmd:Scope>openid</oidcmd:Scope>
-    <oidcmd:Scope>profile</oidcmd:Scope>
-    <oidcmd:SoftwareId>mockSoftwareId</oidcmd:SoftwareId>
-    <oidcmd:SoftwareVersion>mockSoftwareVersion</oidcmd:SoftwareVersion>
-    <oidcmd:TokenEndpointAuthMethod>client_secret_basic</oidcmd:TokenEndpointAuthMethod>
-    <oidcmd:TokenEndpointAuthSigningAlg>RS512</oidcmd:TokenEndpointAuthSigningAlg>
-    <oidcmd:UserInfoEncryptedResponseAlg>A192KW</oidcmd:UserInfoEncryptedResponseAlg>
-    <oidcmd:SectorIdentifierUri>https://example.org/sectorIdentifier</oidcmd:SectorIdentifierUri>
-    <oidcmd:UserInfoEncryptedResponseEnc>A192GCM</oidcmd:UserInfoEncryptedResponseEnc>
-    <oidcmd:UserInfoSignedResponseAlg>RS384</oidcmd:UserInfoSignedResponseAlg>
-    <md:NameIDFormat xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"/>
+<oidcmd:OAuthRPExtensions xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0"
+    xmlns:unknown="urn:unknown:namespace"
+    unknown:attributeExtension1="extensionValue1"
+    application_type="web"
+    client_uri="https://example.org/clientUri"
+    grant_types="authorization_code"
+    response_types="code id_token"
+    scopes="openid profile"
+    initiate_login_uri="https://example.org/initiateLogin"
+    software_id="mockSoftwareId"
+    software_version="mockSoftwareVersion"
+    token_endpoint_auth_method="client_secret_basic"
+    sector_identifier_uri="https://example.org/sectorIdentifier"
+    id_token_signed_response_alg="RS512"
+    id_token_encrypted_response_alg="A256KW"
+    id_token_encrypted_response_enc="A256GCM"
+    userinfo_signed_response_alg="RS384"
+    userinfo_encrypted_response_alg="A192KW"
+    userinfo_encrypted_response_enc="A192GCM"
+    request_object_signing_alg="RS256"
+    request_object_encryption_alg="A128KW"
+    request_object_encryption_enc="A128GCM"
+    token_endpoint_auth_signing_alg="RS512">
+    <oidcmd:default_acr_value>password</oidcmd:default_acr_value>
+    <oidcmd:default_acr_value>mfa</oidcmd:default_acr_value>
+    <oidcmd:request_uri>https://example.org/request</oidcmd:request_uri>
+    <oidcmd:post_logout_redirect_uri>https://example.org/postLogout</oidcmd:post_logout_redirect_uri>
 </oidcmd:OAuthRPExtensions>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions_ordered.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions_ordered.xml
index 1b57fb1..8d62d7c 100644
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions_ordered.xml
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/OAuthRPExtensions_ordered.xml
@@ -1,30 +1,29 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:OAuthRPExtensions xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0" xmlns:unknown="urn:unknown:namespace" unknown:attributeExtension1="extensionValue1">
-    <oidcmd:ApplicationType>web</oidcmd:ApplicationType>
-    <oidcmd:ClientUri>https://example.org/clientUri</oidcmd:ClientUri>
-    <oidcmd:DefaultAcrValue>password</oidcmd:DefaultAcrValue>
-    <oidcmd:DefaultAcrValue>mfa</oidcmd:DefaultAcrValue>
-    <oidcmd:GrantType>authorization_code</oidcmd:GrantType>
-    <oidcmd:IdTokenEncryptedResponseAlg>A256KW</oidcmd:IdTokenEncryptedResponseAlg>
-    <oidcmd:IdTokenEncryptedResponseEnc>A256GCM</oidcmd:IdTokenEncryptedResponseEnc>
-    <oidcmd:IdTokenSignedResponseAlg>RS512</oidcmd:IdTokenSignedResponseAlg>
-    <oidcmd:InitiateLoginUri>https://example.org/initiateLogin</oidcmd:InitiateLoginUri>
-    <oidcmd:PostLogoutRedirectUri>https://example.org/postLogout</oidcmd:PostLogoutRedirectUri>
-    <oidcmd:RequestObjectEncryptionAlg>A128KW</oidcmd:RequestObjectEncryptionAlg>
-    <oidcmd:RequestObjectEncryptionEnc>A128GCM</oidcmd:RequestObjectEncryptionEnc>
-    <oidcmd:RequestObjectSigningAlg>RS256</oidcmd:RequestObjectSigningAlg>
-    <oidcmd:RequestUri>https://example.org/request</oidcmd:RequestUri>
-    <oidcmd:ResponseType>code</oidcmd:ResponseType>
-    <oidcmd:ResponseType>id_token</oidcmd:ResponseType>
-    <oidcmd:Scope>openid</oidcmd:Scope>
-    <oidcmd:Scope>profile</oidcmd:Scope>
-    <oidcmd:SoftwareId>mockSoftwareId</oidcmd:SoftwareId>
-    <oidcmd:SoftwareVersion>mockSoftwareVersion</oidcmd:SoftwareVersion>
-    <oidcmd:TokenEndpointAuthMethod>client_secret_basic</oidcmd:TokenEndpointAuthMethod>
-    <oidcmd:TokenEndpointAuthSigningAlg>RS512</oidcmd:TokenEndpointAuthSigningAlg>
-    <oidcmd:SectorIdentifierUri>https://example.org/sectorIdentifier</oidcmd:SectorIdentifierUri>
-    <oidcmd:UserInfoEncryptedResponseAlg>A192KW</oidcmd:UserInfoEncryptedResponseAlg>
-    <oidcmd:UserInfoEncryptedResponseEnc>A192GCM</oidcmd:UserInfoEncryptedResponseEnc>
-    <oidcmd:UserInfoSignedResponseAlg>RS384</oidcmd:UserInfoSignedResponseAlg>
-    <md:NameIDFormat xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"/>
+<oidcmd:OAuthRPExtensions xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0"
+    xmlns:unknown="urn:unknown:namespace"
+    unknown:attributeExtension1="extensionValue1"
+    application_type="web"
+    client_uri="https://example.org/clientUri"
+    grant_types="authorization_code"
+    response_types="code id_token"
+    scopes="openid profile"
+    initiate_login_uri="https://example.org/initiateLogin"
+    software_id="mockSoftwareId"
+    software_version="mockSoftwareVersion"
+    token_endpoint_auth_method="client_secret_basic"
+    sector_identifier_uri="https://example.org/sectorIdentifier"
+    id_token_signed_response_alg="RS512"
+    id_token_encrypted_response_alg="A256KW"
+    id_token_encrypted_response_enc="A256GCM"
+    userinfo_signed_response_alg="RS384"
+    userinfo_encrypted_response_alg="A192KW"
+    userinfo_encrypted_response_enc="A192GCM"
+    request_object_signing_alg="RS256"
+    request_object_encryption_alg="A128KW"
+    request_object_encryption_enc="A128GCM"
+    token_endpoint_auth_signing_alg="RS512">
+    <oidcmd:default_acr_value>password</oidcmd:default_acr_value>
+    <oidcmd:default_acr_value>mfa</oidcmd:default_acr_value>
+    <oidcmd:request_uri>https://example.org/request</oidcmd:request_uri>
+    <oidcmd:post_logout_redirect_uri>https://example.org/postLogout</oidcmd:post_logout_redirect_uri>
 </oidcmd:OAuthRPExtensions>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUri.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUri.xml
index eb15039..4b9792b 100644
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUri.xml
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/PostLogoutRedirectUri.xml
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:PostLogoutRedirectUri xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">https://example.org/postLogout</oidcmd:PostLogoutRedirectUri>
\ No newline at end of file
+<oidcmd:post_logout_redirect_uri xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">https://example.org/postLogout</oidcmd:post_logout_redirect_uri>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlg.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlg.xml
deleted file mode 100644
index f6b5dc1..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionAlg.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:RequestObjectEncryptionAlg xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">RequestObjectEncryptionAlgValue</oidcmd:RequestObjectEncryptionAlg>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEnc.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEnc.xml
deleted file mode 100644
index 35d1b5e..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectEncryptionEnc.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:RequestObjectEncryptionEnc xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">RequestObjectEncryptionEncValue</oidcmd:RequestObjectEncryptionEnc>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlg.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlg.xml
deleted file mode 100644
index 95cdf3c..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestObjectSigningAlg.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:RequestObjectSigningAlg xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">RequestObjectSigningAlgValue</oidcmd:RequestObjectSigningAlg>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestUri.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestUri.xml
index 7b0f640..d31a0aa 100644
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestUri.xml
+++ b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/RequestUri.xml
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:RequestUri xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">https://example.org/request</oidcmd:RequestUri>
\ No newline at end of file
+<oidcmd:request_uri xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">https://example.org/request</oidcmd:request_uri>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ResponseType.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ResponseType.xml
deleted file mode 100644
index d8fcbf9..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/ResponseType.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:ResponseType xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">id_token</oidcmd:ResponseType>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/Scope.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/Scope.xml
deleted file mode 100644
index 7f06e81..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/Scope.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:Scope xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">profile</oidcmd:Scope>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUri.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUri.xml
deleted file mode 100644
index 567f1d5..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SectorIdentifierUri.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:SectorIdentifierUri xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">https://example.org/shared</oidcmd:SectorIdentifierUri>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareId.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareId.xml
deleted file mode 100644
index e4824b6..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareId.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:SoftwareId xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">id12</oidcmd:SoftwareId>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersion.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersion.xml
deleted file mode 100644
index 472bd02..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/SoftwareVersion.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:SoftwareVersion xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">1.0</oidcmd:SoftwareVersion>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethod.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethod.xml
deleted file mode 100644
index 43c2ced..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthMethod.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:TokenEndpointAuthMethod xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">client_secret_post</oidcmd:TokenEndpointAuthMethod>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlg.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlg.xml
deleted file mode 100644
index aae4d60..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/TokenEndpointAuthSigningAlg.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:TokenEndpointAuthSigningAlg xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">TokenEndpointAuthSigningAlgValue</oidcmd:TokenEndpointAuthSigningAlg>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlg.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlg.xml
deleted file mode 100644
index 0c1ece7..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseAlg.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:UserInfoEncryptedResponseAlg xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">UserInfoEncryptedResponseAlgValue</oidcmd:UserInfoEncryptedResponseAlg>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEnc.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEnc.xml
deleted file mode 100644
index 4421f4c..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoEncryptedResponseEnc.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:UserInfoEncryptedResponseEnc xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">UserInfoEncryptedResponseEncValue</oidcmd:UserInfoEncryptedResponseEnc>
\ No newline at end of file
diff --git a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlg.xml b/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlg.xml
deleted file mode 100644
index f332dc9..0000000
--- a/oidc-common-saml-impl/src/test/resources/net/shibboleth/oidc/saml/xmlobject/impl/UserInfoSignedResponseAlg.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<oidcmd:UserInfoSignedResponseAlg xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0">UserInfoSignedResponseAlgValue</oidcmd:UserInfoSignedResponseAlg>
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list