[java-identity-provider] 08/51: IDP-1121 Remove basic: and saml: namespace from attribute filtering

Rod Widdowson rdw at steadingsoftware.com
Wed Feb 6 08:42:39 EST 2019


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

rdw pushed a commit to branch master
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=fef42f880527a4be13555099e88e5d84d12f23b3

commit fef42f880527a4be13555099e88e5d84d12f23b3
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Nov 28 15:05:30 2018 +0000

    IDP-1121 Remove basic: and saml: namespace from attribute filtering
    
    https://issues.shibboleth.net/jira/browse/IDP-1121
---
 .../filter/spring/basic/impl/AndMatcherParser.java |  25 +-
 .../filter/spring/basic/impl/AnyParser.java        |   7 +-
 .../impl/AttributeFilterBasicNamespaceHandler.java |  93 -----
 .../filter/spring/basic/impl/NotMatcherParser.java |  33 +-
 .../filter/spring/basic/impl/OrMatcherParser.java  |  26 +-
 .../spring/basic/impl/ScriptedMatcherParser.java   |  34 +-
 .../spring/impl/AbstractWarningFilterParser.java   |  24 --
 .../impl/AttributeFilterNamespaceHandler.java      |  56 +--
 .../matcher/impl/AttributeScopeMatcherParser.java  |   8 +-
 .../impl/AttributeScopeRegexMatcherParser.java     |   9 +-
 .../impl/AttributeValueRegexMatcherParser.java     |   9 +-
 .../impl/AttributeValueStringMatcherParser.java    |   9 +-
 .../impl/AttributeIssuerRegexRuleParser.java       |   9 +-
 .../policyrule/impl/AttributeIssuerRuleParser.java |   9 +-
 .../impl/AttributeRequesterRegexRuleParser.java    |   9 +-
 .../impl/AttributeRequesterRuleParser.java         |   9 +-
 .../impl/AuthenticationMethodRegexRuleParser.java  |  11 +-
 .../impl/AuthenticationMethodRuleParser.java       |  11 +-
 .../impl/NumOfAttributeValuesRuleParser.java       |  17 +-
 .../policyrule/impl/PredicateRuleParser.java       |  15 +-
 .../impl/PrincipalNameRegexRuleParser.java         |   9 +-
 .../policyrule/impl/PrincipalNameRuleParser.java   |   8 +-
 .../impl/ProxiedRequesterRegexRuleParser.java      |   4 +-
 .../impl/ProxiedRequesterRuleParser.java           |   4 +-
 .../impl/AttributeFilterSAMLNamespaceHandler.java  |  73 ----
 .../saml/impl/AttributeInMetadataRuleParser.java   |  10 +-
 ...ributeIssuerEntityAttributeExactRuleParser.java |  54 ---
 ...ributeIssuerEntityAttributeRegexRuleParser.java |  70 ----
 .../AttributeIssuerInEntityGroupRuleParser.java    |  67 ----
 .../AttributeIssuerNameIdFormatRuleParser.java     |  68 ----
 ...uteRequesterEntityAttributeExactRuleParser.java |  14 +-
 ...uteRequesterEntityAttributeRegexRuleParser.java |  14 +-
 .../AttributeRequesterInEntityGroupRuleParser.java |  13 +-
 .../AttributeRequesterNameIdFormatRuleParser.java  |  14 +-
 .../impl/MappedAttributeInMetadataRuleParser.java  |   8 +-
 .../saml/impl/RegistrationAuthorityRuleParser.java |  10 +-
 .../src/main/resources/META-INF/spring.handlers    |   2 -
 .../filter/spring/AttributeFilterServiceTest.java  |   8 +-
 .../spring/BaseAttributeFilterParserTest.java      |   8 +-
 .../idp/attribute/filter/spring/basic/AndTest.java |  30 +-
 .../idp/attribute/filter/spring/basic/AnyTest.java |  14 +-
 .../attribute/filter/spring/basic/Implicit.java    |   7 +-
 .../idp/attribute/filter/spring/basic/NotTest.java |  14 +-
 .../idp/attribute/filter/spring/basic/OrTest.java  |  30 +-
 .../filter/spring/basic/ScriptedTest.java          |  21 +-
 .../matcher/AttributeRegexMatcherParserTest.java   |   5 +-
 .../matcher/AttributeScopeMatcherParserTest.java   |   6 +-
 .../AttributeScopeRegexMatcherParserTest.java      |   7 +-
 .../matcher/AttributeValueMatcherParserTest.java   |  31 +-
 .../policy/AttributeIssuerRegexRuleParserTest.java |   2 +-
 .../policy/AttributeIssuerRuleParserTest.java      |   7 +-
 .../AttributeRequesterRegexRuleParserTest.java     |   5 +-
 .../policy/AttributeRequesterRuleParserTest.java   |  14 +-
 .../AuthenticationMethodRegexRuleParserTest.java   |   5 +-
 .../policy/AuthenticationMethodRuleParserTest.java |   5 +-
 .../policy/NumOfAttributeValuesRuleParserTest.java |  10 +-
 .../spring/policy/PredicateRuleParserTest.java     |  21 +-
 .../policy/PrincipalNameRegexRuleParserTest.java   |   8 +-
 .../spring/policy/PrincipalNameRuleParserTest.java |   8 +-
 .../ProxiedRequesterRegexRuleParserTest.java       |   2 +-
 .../policy/ProxiedRequesterRuleParserTest.java     |  12 +-
 .../saml/AttributeInMetadataRuleParserTest.java    |   7 +-
 ...teIssuerEntityAttributeExactRuleParserTest.java |  37 --
 ...teIssuerEntityAttributeRegexRuleParserTest.java |  36 --
 ...AttributeIssuerInEntityGroupRuleParserTest.java |  36 --
 .../AttributeIssuerNameIdFormatRuleParserTest.java |  37 --
 ...equesterEntityAttributeExactRuleParserTest.java |  23 +-
 ...equesterEntityAttributeRegexRuleParserTest.java |  21 +-
 ...ributeRequesterInEntityGroupRuleParserTest.java |  18 +-
 ...tributeRequesterNameIdFormatRuleParserTest.java |  16 +-
 .../MappedAttributeInMetadataRuleParserTest.java   |   8 +-
 .../saml/RegistrationAuthorityRuleParserTest.java  |  15 +-
 .../idp/attribute/filter/matcher/and.xml           |  12 -
 .../idp/attribute/filter/matcher/any.xml           |   7 -
 .../attribute/filter/matcher/attributeRegex.xml    |   8 -
 .../filter/matcher/attributeRequester.xml          |   7 -
 .../attribute/filter/matcher/attributeScope.xml    |   8 -
 .../filter/matcher/attributeScopeRegex.xml         |   8 -
 .../attribute/filter/matcher/attributeValueId.xml  |   8 -
 .../filter/matcher/attributeValueNoId.xml          |   8 -
 .../idp/attribute/filter/matcher/implicit.xml      |   6 -
 .../idp/attribute/filter/matcher/not.xml           |  11 -
 .../shibboleth/idp/attribute/filter/matcher/or.xml |  12 -
 .../idp/attribute/filter/matcher/orSingleton.xml   |  11 -
 .../idp/attribute/filter/matcher/scripted-v8.xml   |  16 -
 .../idp/attribute/filter/matcher/scripted.xml      |  16 -
 .../filter/policyrule/afp/scriptedNotThere.xml     |   8 +
 .../idp/attribute/filter/policyrule/and.xml        |  12 -
 .../attribute/filter/policyrule/andSingleton.xml   |  11 -
 .../idp/attribute/filter/policyrule/any.xml        |   7 -
 .../filter/policyrule/attributeIssuer.xml          |   7 -
 .../filter/policyrule/attributeRegexRequester.xml  |   7 -
 .../filter/policyrule/attributeRequester.xml       |   7 -
 .../filter/policyrule/attributeValueId.xml         |   8 -
 .../filter/policyrule/attributeValueNoId.xml       |   8 -
 .../filter/policyrule/authenticationMethod.xml     |   7 -
 .../policyrule/authenticationMethodRegex.xml       |   7 -
 .../idp/attribute/filter/policyrule/issuerEA.xml   |  11 -
 .../attribute/filter/policyrule/issuerEARegex.xml  |  11 -
 .../idp/attribute/filter/policyrule/issuerEG.xml   |   8 -
 .../attribute/filter/policyrule/issuerNameId.xml   |   9 -
 .../idp/attribute/filter/policyrule/not.xml        |  11 -
 .../filter/policyrule/numberAttrValues.xml         |   8 -
 .../idp/attribute/filter/policyrule/or.xml         |  12 -
 .../attribute/filter/policyrule/orSingleton.xml    |   9 -
 .../idp/attribute/filter/policyrule/predicate1.xml |   8 -
 .../idp/attribute/filter/policyrule/predicate2.xml |   8 -
 .../attribute/filter/policyrule/predicateRp.xml    |   8 -
 .../attribute/filter/policyrule/principalName.xml  |   8 -
 .../filter/policyrule/principalNameRegex.xml       |   7 -
 .../filter/policyrule/registrationAuthorityOne.xml |  12 -
 .../filter/policyrule/registrationAuthorityTwo.xml |  12 -
 .../attribute/filter/policyrule/requesterEA.xml    |  11 -
 .../attribute/filter/policyrule/requesterEA2.xml   |  11 -
 .../filter/policyrule/requesterEARegex.xml         |  10 -
 .../filter/policyrule/requesterEARegex2.xml        |  10 -
 .../attribute/filter/policyrule/requesterEG.xml    |   8 -
 .../attribute/filter/policyrule/requesterEG2.xml   |   8 -
 .../filter/policyrule/requesterNameId.xml          |   9 -
 .../filter/policyrule/requesterNameId2.xml         |   9 -
 .../attribute/filter/policyrule/scripted-v8.xml    |   9 -
 .../idp/attribute/filter/policyrule/scripted.xml   |   9 -
 .../filter/policyrule/scriptedNotThere.xml         |   9 -
 .../attribute/filter/spring/native/policyAll.xml   |  15 -
 .../resources/schema/shibboleth-afp-mf-basic.xsd   | 394 ---------------------
 .../resources/schema/shibboleth-afp-mf-saml.xsd    | 394 ---------------------
 126 files changed, 198 insertions(+), 2476 deletions(-)

diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AndMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AndMatcherParser.java
index dd8b341..711215b 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AndMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AndMatcherParser.java
@@ -17,12 +17,15 @@
 
 package net.shibboleth.idp.attribute.filter.spring.basic.impl;
 
-import java.util.ArrayList;
 import java.util.List;
 
 import javax.annotation.Nonnull;
 import javax.xml.namespace.QName;
 
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
+
 import net.shibboleth.ext.spring.util.SpringSupport;
 import net.shibboleth.idp.attribute.filter.matcher.logic.impl.AndMatcher;
 import net.shibboleth.idp.attribute.filter.policyrule.logic.impl.AndPolicyRule;
@@ -30,10 +33,6 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
 import net.shibboleth.idp.attribute.filter.spring.impl.AbstractWarningFilterParser;
 import net.shibboleth.utilities.java.support.xml.ElementSupport;
 
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
 /**
  * Bean definition parser for {@link AndMatcher} or {@link AndPolicyRule} objects.<br/>
  * These both take as a constructor a list of {@link net.shibboleth.idp.attribute.filter.Matcher} or
@@ -42,14 +41,11 @@ import org.w3c.dom.Element;
 public class AndMatcherParser extends AbstractWarningFilterParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE, "AND");
-
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "AND");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "AND");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
@@ -69,16 +65,9 @@ public class AndMatcherParser extends AbstractWarningFilterParser {
 
         builder.addPropertyValue("id", myId);
 
-        final List<Element> ruleElementsBasic =
-                ElementSupport.getChildElementsByTagNameNS(configElement,
-                        AttributeFilterBasicNamespaceHandler.NAMESPACE, "Rule");
-        final List<Element> ruleElementsAfp =
+        final List<Element> ruleElements =
                 ElementSupport.getChildElementsByTagNameNS(configElement, BaseFilterParser.NAMESPACE, "Rule");
 
-        final List<Element> ruleElements = new ArrayList<>(ruleElementsBasic.size() + ruleElementsAfp.size());
-        ruleElements.addAll(ruleElementsBasic);
-        ruleElements.addAll(ruleElementsAfp);
-
         builder.addPropertyValue("subsidiaries", SpringSupport.parseCustomElements(ruleElements, parserContext));
 
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AnyParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AnyParser.java
index 26865e8..bf2b3fa 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AnyParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AnyParser.java
@@ -35,14 +35,11 @@ import org.w3c.dom.Element;
 public class AnyParser extends AbstractWarningFilterParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE, "ANY");
-
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "ANY");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ANY");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AttributeFilterBasicNamespaceHandler.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AttributeFilterBasicNamespaceHandler.java
deleted file mode 100644
index 05aac50..0000000
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AttributeFilterBasicNamespaceHandler.java
+++ /dev/null
@@ -1,93 +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.idp.attribute.filter.spring.basic.impl;
-
-import net.shibboleth.ext.spring.util.BaseSpringNamespaceHandler;
-import net.shibboleth.idp.attribute.filter.spring.matcher.impl.AttributeScopeMatcherParser;
-import net.shibboleth.idp.attribute.filter.spring.matcher.impl.AttributeScopeRegexMatcherParser;
-import net.shibboleth.idp.attribute.filter.spring.matcher.impl.AttributeValueRegexMatcherParser;
-import net.shibboleth.idp.attribute.filter.spring.matcher.impl.AttributeValueStringMatcherParser;
-import net.shibboleth.idp.attribute.filter.spring.policyrule.impl.AttributeIssuerRegexRuleParser;
-import net.shibboleth.idp.attribute.filter.spring.policyrule.impl.AttributeIssuerRuleParser;
-import net.shibboleth.idp.attribute.filter.spring.policyrule.impl.AttributeRequesterRegexRuleParser;
-import net.shibboleth.idp.attribute.filter.spring.policyrule.impl.AttributeRequesterRuleParser;
-import net.shibboleth.idp.attribute.filter.spring.policyrule.impl.AuthenticationMethodRegexRuleParser;
-import net.shibboleth.idp.attribute.filter.spring.policyrule.impl.AuthenticationMethodRuleParser;
-import net.shibboleth.idp.attribute.filter.spring.policyrule.impl.NumOfAttributeValuesRuleParser;
-import net.shibboleth.idp.attribute.filter.spring.policyrule.impl.PredicateRuleParser;
-import net.shibboleth.idp.attribute.filter.spring.policyrule.impl.PrincipalNameRegexRuleParser;
-import net.shibboleth.idp.attribute.filter.spring.policyrule.impl.PrincipalNameRuleParser;
-
-/** Namespace handler for the attribute filter engine basic match functions. */
-public class AttributeFilterBasicNamespaceHandler extends BaseSpringNamespaceHandler {
-
-    /** Basic match function namespace. */
-    public static final String NAMESPACE = "urn:mace:shibboleth:2.0:afp:mf:basic";
-
-    /** {@inheritDoc} */
-    @Override
-    public void init() {
-
-        registerBeanDefinitionParser(AnyParser.SCHEMA_TYPE, new AnyParser());
-
-        // LOGIC
-
-        registerBeanDefinitionParser(AndMatcherParser.SCHEMA_TYPE, new AndMatcherParser());
-
-        registerBeanDefinitionParser(OrMatcherParser.SCHEMA_TYPE, new OrMatcherParser());
-
-        registerBeanDefinitionParser(NotMatcherParser.SCHEMA_TYPE, new NotMatcherParser());
-
-        // Attribute/Matcher
-        registerBeanDefinitionParser(AttributeValueStringMatcherParser.SCHEMA_TYPE,
-                new AttributeValueStringMatcherParser());
-
-        registerBeanDefinitionParser(AttributeScopeMatcherParser.SCHEMA_TYPE, new AttributeScopeMatcherParser());
-
-        registerBeanDefinitionParser(AttributeValueRegexMatcherParser.SCHEMA_TYPE,
-                new AttributeValueRegexMatcherParser());
-
-        registerBeanDefinitionParser(AttributeScopeRegexMatcherParser.SCHEMA_TYPE,
-                new AttributeScopeRegexMatcherParser());
-
-        // Policy
-        registerBeanDefinitionParser(AttributeRequesterRuleParser.SCHEMA_TYPE, new AttributeRequesterRuleParser());
-
-        registerBeanDefinitionParser(AttributeRequesterRegexRuleParser.SCHEMA_TYPE,
-                new AttributeRequesterRegexRuleParser());
-
-        registerBeanDefinitionParser(AttributeIssuerRuleParser.SCHEMA_TYPE, new AttributeIssuerRuleParser());
-
-        registerBeanDefinitionParser(AttributeIssuerRegexRuleParser.SCHEMA_TYPE, new AttributeIssuerRegexRuleParser());
-
-        registerBeanDefinitionParser(PrincipalNameRuleParser.SCHEMA_TYPE, new PrincipalNameRuleParser());
-
-        registerBeanDefinitionParser(PrincipalNameRegexRuleParser.SCHEMA_TYPE, new PrincipalNameRegexRuleParser());
-
-        registerBeanDefinitionParser(AuthenticationMethodRuleParser.SCHEMA_TYPE, new AuthenticationMethodRuleParser());
-
-        registerBeanDefinitionParser(AuthenticationMethodRegexRuleParser.SCHEMA_TYPE,
-                new AuthenticationMethodRegexRuleParser());
-
-        registerBeanDefinitionParser(NumOfAttributeValuesRuleParser.SCHEMA_TYPE, new NumOfAttributeValuesRuleParser());
-
-        registerBeanDefinitionParser(ScriptedMatcherParser.SCHEMA_TYPE, new ScriptedMatcherParser());
-        
-        registerBeanDefinitionParser(PredicateRuleParser.SCHEMA_TYPE, new PredicateRuleParser());
-    }
-}
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/NotMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/NotMatcherParser.java
index 9d7ca54..058d6a5 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/NotMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/NotMatcherParser.java
@@ -17,12 +17,15 @@
 
 package net.shibboleth.idp.attribute.filter.spring.basic.impl;
 
-import java.util.ArrayList;
 import java.util.List;
 
 import javax.annotation.Nonnull;
 import javax.xml.namespace.QName;
 
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
+
 import net.shibboleth.ext.spring.util.SpringSupport;
 import net.shibboleth.idp.attribute.filter.matcher.logic.impl.NotMatcher;
 import net.shibboleth.idp.attribute.filter.policyrule.logic.impl.NotPolicyRule;
@@ -30,25 +33,17 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
 import net.shibboleth.idp.attribute.filter.spring.impl.AbstractWarningFilterParser;
 import net.shibboleth.utilities.java.support.xml.ElementSupport;
 
-import org.springframework.beans.factory.BeanCreationException;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
 /**
  * Bean definition parser for {@link NotMatcher} or {@link NotPolicyRule} objects.
  */
 public class NotMatcherParser extends AbstractWarningFilterParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE, "NOT");
-
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "NOT");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "NOT");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
@@ -68,27 +63,13 @@ public class NotMatcherParser extends AbstractWarningFilterParser {
 
         builder.addPropertyValue("id", myId);
 
-        final List<Element> ruleElementsBasic =
-                ElementSupport.getChildElementsByTagNameNS(configElement,
-                        AttributeFilterBasicNamespaceHandler.NAMESPACE, "Rule");
-        final List<Element> ruleReferenceBasic =
-                ElementSupport.getChildElementsByTagNameNS(configElement,
-                        AttributeFilterBasicNamespaceHandler.NAMESPACE, "RuleReference");
-
-        final List<Element> ruleElementsAfp =
+        final List<Element> ruleElements =
                 ElementSupport.getChildElementsByTagNameNS(configElement, BaseFilterParser.NAMESPACE, "Rule");
 
-        final List<Element> ruleElements = new ArrayList<>(ruleElementsBasic.size() + ruleElementsAfp.size());
-        ruleElements.addAll(ruleElementsAfp);
-        ruleElements.addAll(ruleElementsBasic);
-
         if (ruleElements != null && !ruleElements.isEmpty()) {
 
             builder.addPropertyValue("negation", SpringSupport.parseCustomElements(ruleElements, parserContext).get(0));
 
-        } else if (ruleReferenceBasic != null && !ruleReferenceBasic.isEmpty()) {
-            throw new BeanCreationException(parserContext.getReaderContext().getResource().getDescription(), myId,
-                    "RuleReference is not supported");
         }
     }
 }
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/OrMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/OrMatcherParser.java
index e76a7cb..5efb217 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/OrMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/OrMatcherParser.java
@@ -17,12 +17,15 @@
 
 package net.shibboleth.idp.attribute.filter.spring.basic.impl;
 
-import java.util.ArrayList;
 import java.util.List;
 
 import javax.annotation.Nonnull;
 import javax.xml.namespace.QName;
 
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
+
 import net.shibboleth.ext.spring.util.SpringSupport;
 import net.shibboleth.idp.attribute.filter.matcher.logic.impl.OrMatcher;
 import net.shibboleth.idp.attribute.filter.policyrule.logic.impl.OrPolicyRule;
@@ -30,10 +33,6 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
 import net.shibboleth.idp.attribute.filter.spring.impl.AbstractWarningFilterParser;
 import net.shibboleth.utilities.java.support.xml.ElementSupport;
 
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
 /**
  * Bean definition parser for {@link OrMatcher} or {@link OrPolicyRule} objects.<br/>
  * These both take as a constructor a list of {@link net.shibboleth.idp.attribute.filter.Matcher} or
@@ -42,14 +41,11 @@ import org.w3c.dom.Element;
 public class OrMatcherParser extends AbstractWarningFilterParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE, "OR");
-
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "OR");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "OR");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
@@ -69,17 +65,9 @@ public class OrMatcherParser extends AbstractWarningFilterParser {
 
         builder.addPropertyValue("id", myId);
 
-        final List<Element> ruleElementsBasic =
-                ElementSupport.getChildElementsByTagNameNS(configElement,
-                        AttributeFilterBasicNamespaceHandler.NAMESPACE, "Rule");
-
-        final List<Element> ruleElementsAfp =
+        final List<Element> ruleElements =
                 ElementSupport.getChildElementsByTagNameNS(configElement, BaseFilterParser.NAMESPACE, "Rule");
 
-        final List<Element> ruleElements = new ArrayList<>(ruleElementsAfp.size() + ruleElementsBasic.size());
-        ruleElements.addAll(ruleElementsBasic);
-        ruleElements.addAll(ruleElementsAfp);
-
         builder.addPropertyValue("subsidiaries", SpringSupport.parseCustomElements(ruleElements, parserContext));
 
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/ScriptedMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/ScriptedMatcherParser.java
index 7fb79fc..2f5a9ea 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/ScriptedMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/ScriptedMatcherParser.java
@@ -43,30 +43,20 @@ import org.w3c.dom.Element;
 public class ScriptedMatcherParser extends AbstractWarningFilterParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE, "Script");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Script");
 
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "Script");
-
-    /** Script file element name - basic. */
-    public static final QName SCRIPT_FILE_ELEMENT_NAME = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE,
-            "ScriptFile");
-
-    /** Script file element name - afp. */
-    public static final QName SCRIPT_FILE_ELEMENT_NAME_AFP = new QName(BaseFilterParser.NAMESPACE, "ScriptFile");
+    /** Script file element name. */
+    public static final QName SCRIPT_FILE_ELEMENT_NAME = new QName(BaseFilterParser.NAMESPACE, "ScriptFile");
 
-    /** Inline Script element name - basic. */
-    public static final QName SCRIPT_ELEMENT_NAME = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE, "Script");
-
-    /** Inline Script element name - afp. */
-    public static final QName SCRIPT_ELEMENT_NAME_AFP = new QName(BaseFilterParser.NAMESPACE, "Script");
+    /** Inline Script element name. */
+    public static final QName SCRIPT_ELEMENT_NAME = new QName(BaseFilterParser.NAMESPACE, "Script");
 
     /** Class logger. */
-    private final Logger log = LoggerFactory.getLogger(AttributeFilterBasicNamespaceHandler.class);
+    private final Logger log = LoggerFactory.getLogger(ScriptedMatcherParser.class);
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
@@ -97,15 +87,9 @@ public class ScriptedMatcherParser extends AbstractWarningFilterParser {
             scriptBuilder.addPropertyValue("engineName", scriptLanguage);
         }
 
-        List<Element> scriptElem = ElementSupport.getChildElements(config, SCRIPT_ELEMENT_NAME);
-        if (scriptElem == null || scriptElem.isEmpty()) {
-            scriptElem = ElementSupport.getChildElements(config, SCRIPT_ELEMENT_NAME_AFP);
-        }
+        final List<Element> scriptElem = ElementSupport.getChildElements(config, SCRIPT_ELEMENT_NAME);
 
-        List<Element> scriptFileElem = ElementSupport.getChildElements(config, SCRIPT_FILE_ELEMENT_NAME);
-        if (scriptFileElem == null || scriptFileElem.isEmpty()) {
-            scriptFileElem = ElementSupport.getChildElements(config, SCRIPT_FILE_ELEMENT_NAME_AFP);
-        }
+        final List<Element> scriptFileElem = ElementSupport.getChildElements(config, SCRIPT_FILE_ELEMENT_NAME);
 
         if (scriptElem != null && scriptElem.size() > 0) {
             if (scriptFileElem != null && scriptFileElem.size() > 0) {
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AbstractWarningFilterParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AbstractWarningFilterParser.java
index 20c0534..041cfa7 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AbstractWarningFilterParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AbstractWarningFilterParser.java
@@ -17,39 +17,15 @@
 
 package net.shibboleth.idp.attribute.filter.spring.impl;
 
-import javax.annotation.Nonnull;
 import javax.xml.namespace.QName;
 
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
-import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeFilterSAMLNamespaceHandler;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
-import net.shibboleth.utilities.java.support.xml.DOMTypeSupport;
-
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
 
 /**
  * A special case version of {@link BaseFilterParser} which warns if the legacy name is used.
  */
 public abstract class AbstractWarningFilterParser extends BaseFilterParser {
 
-    /** {@inheritDoc} */
-    @Override protected void doParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
-            @Nonnull final BeanDefinitionBuilder builder) {
-
-        final QName suppliedQname = DOMTypeSupport.getXSIType(element);
-        if (AttributeFilterSAMLNamespaceHandler.NAMESPACE.equals(suppliedQname.getNamespaceURI())
-                || AttributeFilterBasicNamespaceHandler.NAMESPACE.equals(suppliedQname.getNamespaceURI())) {
-            DeprecationSupport.warnOnce(ObjectType.XSITYPE, suppliedQname.toString(),
-                    parserContext.getReaderContext().getResource().getDescription(), getAFPName().toString());
-        }
-
-        super.doParse(element, parserContext, builder);
-    }
-
     /**
      * Helper function to assist rewrite from old to new QName.
      * 
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterNamespaceHandler.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterNamespaceHandler.java
index 945d682..416daa6 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterNamespaceHandler.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterNamespaceHandler.java
@@ -72,79 +72,79 @@ public class AttributeFilterNamespaceHandler extends BaseSpringNamespaceHandler
         
         // BASIC
         
-        registerBeanDefinitionParser(AnyParser.SCHEMA_TYPE_AFP, new AnyParser());
+        registerBeanDefinitionParser(AnyParser.SCHEMA_TYPE, new AnyParser());
 
-        registerBeanDefinitionParser(AndMatcherParser.SCHEMA_TYPE_AFP, new AndMatcherParser());
+        registerBeanDefinitionParser(AndMatcherParser.SCHEMA_TYPE, new AndMatcherParser());
 
-        registerBeanDefinitionParser(OrMatcherParser.SCHEMA_TYPE_AFP, new OrMatcherParser());
+        registerBeanDefinitionParser(OrMatcherParser.SCHEMA_TYPE, new OrMatcherParser());
 
-        registerBeanDefinitionParser(NotMatcherParser.SCHEMA_TYPE_AFP, new NotMatcherParser());
+        registerBeanDefinitionParser(NotMatcherParser.SCHEMA_TYPE, new NotMatcherParser());
 
         // Attribute/Matcher
-        registerBeanDefinitionParser(AttributeValueStringMatcherParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(AttributeValueStringMatcherParser.SCHEMA_TYPE,
                 new AttributeValueStringMatcherParser());
 
-        registerBeanDefinitionParser(AttributeScopeMatcherParser.SCHEMA_TYPE_AFP, new AttributeScopeMatcherParser());
+        registerBeanDefinitionParser(AttributeScopeMatcherParser.SCHEMA_TYPE, new AttributeScopeMatcherParser());
 
-        registerBeanDefinitionParser(AttributeValueRegexMatcherParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(AttributeValueRegexMatcherParser.SCHEMA_TYPE,
                 new AttributeValueRegexMatcherParser());
 
-        registerBeanDefinitionParser(AttributeScopeRegexMatcherParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(AttributeScopeRegexMatcherParser.SCHEMA_TYPE,
                 new AttributeScopeRegexMatcherParser());
 
         // Policy
-        registerBeanDefinitionParser(AttributeRequesterRuleParser.SCHEMA_TYPE_AFP, new AttributeRequesterRuleParser());
+        registerBeanDefinitionParser(AttributeRequesterRuleParser.SCHEMA_TYPE, new AttributeRequesterRuleParser());
 
-        registerBeanDefinitionParser(AttributeRequesterRegexRuleParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(AttributeRequesterRegexRuleParser.SCHEMA_TYPE,
                 new AttributeRequesterRegexRuleParser());
 
-        registerBeanDefinitionParser(ProxiedRequesterRuleParser.SCHEMA_TYPE_AFP, new ProxiedRequesterRuleParser());
+        registerBeanDefinitionParser(ProxiedRequesterRuleParser.SCHEMA_TYPE, new ProxiedRequesterRuleParser());
 
-        registerBeanDefinitionParser(ProxiedRequesterRegexRuleParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(ProxiedRequesterRegexRuleParser.SCHEMA_TYPE,
                 new ProxiedRequesterRegexRuleParser());
 
-        registerBeanDefinitionParser(AttributeIssuerRuleParser.SCHEMA_TYPE_AFP, new AttributeIssuerRuleParser());
+        registerBeanDefinitionParser(AttributeIssuerRuleParser.SCHEMA_TYPE, new AttributeIssuerRuleParser());
 
-        registerBeanDefinitionParser(AttributeIssuerRegexRuleParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(AttributeIssuerRegexRuleParser.SCHEMA_TYPE,
                 new AttributeIssuerRegexRuleParser());
         
-        registerBeanDefinitionParser(PrincipalNameRuleParser.SCHEMA_TYPE_AFP, new PrincipalNameRuleParser());
+        registerBeanDefinitionParser(PrincipalNameRuleParser.SCHEMA_TYPE, new PrincipalNameRuleParser());
 
-        registerBeanDefinitionParser(PrincipalNameRegexRuleParser.SCHEMA_TYPE_AFP, new PrincipalNameRegexRuleParser());
+        registerBeanDefinitionParser(PrincipalNameRegexRuleParser.SCHEMA_TYPE, new PrincipalNameRegexRuleParser());
 
-        registerBeanDefinitionParser(AuthenticationMethodRuleParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(AuthenticationMethodRuleParser.SCHEMA_TYPE,
                 new AuthenticationMethodRuleParser());
 
-        registerBeanDefinitionParser(AuthenticationMethodRegexRuleParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(AuthenticationMethodRegexRuleParser.SCHEMA_TYPE,
                 new AuthenticationMethodRegexRuleParser());
 
-        registerBeanDefinitionParser(NumOfAttributeValuesRuleParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(NumOfAttributeValuesRuleParser.SCHEMA_TYPE,
                 new NumOfAttributeValuesRuleParser());
 
-        registerBeanDefinitionParser(ScriptedMatcherParser.SCHEMA_TYPE_AFP, new ScriptedMatcherParser());
+        registerBeanDefinitionParser(ScriptedMatcherParser.SCHEMA_TYPE, new ScriptedMatcherParser());
         
-        registerBeanDefinitionParser(PredicateRuleParser.SCHEMA_TYPE_AFP, new PredicateRuleParser());
+        registerBeanDefinitionParser(PredicateRuleParser.SCHEMA_TYPE, new PredicateRuleParser());
         
         // SAML - 
-        registerBeanDefinitionParser(AttributeRequesterEntityAttributeExactRuleParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(AttributeRequesterEntityAttributeExactRuleParser.SCHEMA_TYPE,
                 new AttributeRequesterEntityAttributeExactRuleParser());
 
-        registerBeanDefinitionParser(AttributeRequesterEntityAttributeRegexRuleParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(AttributeRequesterEntityAttributeRegexRuleParser.SCHEMA_TYPE,
                 new AttributeRequesterEntityAttributeRegexRuleParser());
 
-        registerBeanDefinitionParser(AttributeRequesterNameIdFormatRuleParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(AttributeRequesterNameIdFormatRuleParser.SCHEMA_TYPE,
                 new AttributeRequesterNameIdFormatRuleParser());
 
-        registerBeanDefinitionParser(AttributeRequesterInEntityGroupRuleParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(AttributeRequesterInEntityGroupRuleParser.SCHEMA_TYPE,
                 new AttributeRequesterInEntityGroupRuleParser());
 
-        registerBeanDefinitionParser(AttributeInMetadataRuleParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(AttributeInMetadataRuleParser.SCHEMA_TYPE,
                 new AttributeInMetadataRuleParser());
 
-        registerBeanDefinitionParser(MappedAttributeInMetadataRuleParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(MappedAttributeInMetadataRuleParser.SCHEMA_TYPE,
                 new MappedAttributeInMetadataRuleParser());
 
-        registerBeanDefinitionParser(RegistrationAuthorityRuleParser.SCHEMA_TYPE_AFP,
+        registerBeanDefinitionParser(RegistrationAuthorityRuleParser.SCHEMA_TYPE,
                 new RegistrationAuthorityRuleParser());
     }
     // Checkstyle: MethodLength ON
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeMatcherParser.java
index 4a35c96..3de62ba 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeMatcherParser.java
@@ -22,7 +22,6 @@ import javax.xml.namespace.QName;
 
 import net.shibboleth.idp.attribute.filter.matcher.impl.AttributeScopeStringMatcher;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
 
 /**
  * Bean definition parser for {@link AttributeScopeStringMatcher}s.
@@ -30,15 +29,12 @@ import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasi
 public class AttributeScopeMatcherParser extends AbstractStringMatcherParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE,
-            "AttributeScopeString");
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE,
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
             "Scope");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeRegexMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeRegexMatcherParser.java
index 3b887f1..cdfe554 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeRegexMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeRegexMatcherParser.java
@@ -22,7 +22,6 @@ import javax.xml.namespace.QName;
 
 import net.shibboleth.idp.attribute.filter.matcher.impl.AttributeScopeRegexpMatcher;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
 
 /**
  * Bean definition parser for {@link AttributeScopeRegexpMatcher}s.
@@ -30,15 +29,11 @@ import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasi
 public class AttributeScopeRegexMatcherParser extends AbstractRegexMatcherParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE,
-            "AttributeScopeRegex");
-
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "ScopeRegex");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ScopeRegex");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueRegexMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueRegexMatcherParser.java
index c328414..6add4b5 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueRegexMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueRegexMatcherParser.java
@@ -22,7 +22,6 @@ import javax.xml.namespace.QName;
 
 import net.shibboleth.idp.attribute.filter.matcher.impl.AttributeValueRegexpMatcher;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
 
 /**
  * Bean definition parser for {@link AttributeValueRegexpMatcher}s.
@@ -30,15 +29,11 @@ import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasi
 public class AttributeValueRegexMatcherParser extends AbstractRegexMatcherParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE,
-            "AttributeValueRegex");
-
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "ValueRegex");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ValueRegex");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueStringMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueStringMatcherParser.java
index 0b7bb17..062ce81 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueStringMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueStringMatcherParser.java
@@ -22,7 +22,6 @@ import javax.xml.namespace.QName;
 
 import net.shibboleth.idp.attribute.filter.matcher.impl.AttributeValueStringMatcher;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
 
 /**
  * Bean definition parser for {@link AttributeValueStringMatcher}s.
@@ -30,15 +29,11 @@ import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasi
 public class AttributeValueStringMatcherParser extends AbstractStringMatcherParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE,
-            "AttributeValueString");
-
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "Value");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Value");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRegexRuleParser.java
index 668bc62..cf160c8 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRegexRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRegexRuleParser.java
@@ -22,7 +22,6 @@ import javax.xml.namespace.QName;
 
 import net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl.AttributeIssuerRegexpPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
 
 /**
  * Bean definition parser for {@link AttributeIssuerRegexpPolicyRule}.
@@ -30,15 +29,11 @@ import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasi
 public class AttributeIssuerRegexRuleParser extends AbstractRegexPolicyRuleParser {
 
     /** Schema type. */
-    @Nonnull public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE,
-            "AttributeIssuerRegex");
-
-    /** Schema type. */
-    @Nonnull public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "IssuerRegex");
+    @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "IssuerRegex");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRuleParser.java
index dad946f..64e616f 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRuleParser.java
@@ -22,7 +22,6 @@ import javax.xml.namespace.QName;
 
 import net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl.AttributeIssuerPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
 
 /**
  * Bean definition parser for {@link AttributeIssuerPolicyRule}.
@@ -30,11 +29,7 @@ import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasi
 public class AttributeIssuerRuleParser extends AbstractStringPolicyRuleParser {
 
     /** Schema type. */
-    @Nonnull public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE,
-            "AttributeIssuerString");
-    
-    /** Schema type. */
-    @Nonnull public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "Issuer");
+    @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Issuer");
 
     /** {@inheritDoc} */
     @Override @Nonnull protected Class<AttributeIssuerPolicyRule> getNativeBeanClass() {
@@ -43,7 +38,7 @@ public class AttributeIssuerRuleParser extends AbstractStringPolicyRuleParser {
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
 }
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRegexRuleParser.java
index f6187cc..2576fa0 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRegexRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRegexRuleParser.java
@@ -22,7 +22,6 @@ import javax.xml.namespace.QName;
 
 import net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl.AttributeRequesterRegexpPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
 
 /**
  * Bean definition parser for {@link AttributeRequesterRegexpPolicyRule}.
@@ -30,15 +29,11 @@ import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasi
 public class AttributeRequesterRegexRuleParser extends AbstractRegexPolicyRuleParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE,
-            "AttributeRequesterRegex");
-
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "RequesterRegex");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "RequesterRegex");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRuleParser.java
index a69de28..739c84d 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRuleParser.java
@@ -22,7 +22,6 @@ import javax.xml.namespace.QName;
 
 import net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl.AttributeRequesterPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
 
 /**
  * Bean definition parser for {@link AttributeRequesterPolicyRule}.
@@ -30,15 +29,11 @@ import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasi
 public class AttributeRequesterRuleParser extends AbstractStringPolicyRuleParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE,
-            "AttributeRequesterString");
-
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "Requester");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Requester");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRegexRuleParser.java
index fe5e5e6..fe306c4 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRegexRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRegexRuleParser.java
@@ -26,7 +26,6 @@ import org.w3c.dom.Element;
 
 import net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl.AuthenticationMethodRegexpPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
 import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
 import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
 
@@ -36,15 +35,11 @@ import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.Object
 public class AuthenticationMethodRegexRuleParser extends AbstractRegexPolicyRuleParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE,
-            "AuthenticationMethodRegex");
-
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "AuthenticationMethodRegex");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "AuthenticationMethodRegex");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
@@ -57,7 +52,7 @@ public class AuthenticationMethodRegexRuleParser extends AbstractRegexPolicyRule
             @Nonnull final BeanDefinitionBuilder builder) {
         super.doNativeParse(element, parserContext, builder);
         
-        DeprecationSupport.warn(ObjectType.XSITYPE, SCHEMA_TYPE_AFP.toString(),
+        DeprecationSupport.warn(ObjectType.XSITYPE, SCHEMA_TYPE.toString(),
                 parserContext.getReaderContext().getResource().getDescription(), null);
     }
 
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRuleParser.java
index 4e5065d..2da641d 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRuleParser.java
@@ -26,7 +26,6 @@ import org.w3c.dom.Element;
 
 import net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl.AuthenticationMethodPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
 import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
 import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
 
@@ -36,15 +35,11 @@ import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.Object
 public class AuthenticationMethodRuleParser extends AbstractStringPolicyRuleParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE,
-            "AuthenticationMethodString");
-
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "AuthenticationMethod");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "AuthenticationMethod");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
@@ -57,7 +52,7 @@ public class AuthenticationMethodRuleParser extends AbstractStringPolicyRulePars
             @Nonnull final BeanDefinitionBuilder builder) {
         super.doNativeParse(element, parserContext, builder);
         
-        DeprecationSupport.warn(ObjectType.XSITYPE, SCHEMA_TYPE_AFP.toString(),
+        DeprecationSupport.warn(ObjectType.XSITYPE, SCHEMA_TYPE.toString(),
                 parserContext.getReaderContext().getResource().getDescription(), null);
     }
     
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/NumOfAttributeValuesRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/NumOfAttributeValuesRuleParser.java
index 3c1f556..b7def05 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/NumOfAttributeValuesRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/NumOfAttributeValuesRuleParser.java
@@ -20,31 +20,26 @@ package net.shibboleth.idp.attribute.filter.spring.policyrule.impl;
 import javax.annotation.Nonnull;
 import javax.xml.namespace.QName;
 
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
+
 import net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl.NumOfAttributeValuesPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
 import net.shibboleth.idp.attribute.filter.spring.policyrule.BasePolicyRuleParser;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
 
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
 /**
  * Bean definition parser for {@link NumOfAttributeValuesPolicyRule}.
  */
 public class NumOfAttributeValuesRuleParser extends BasePolicyRuleParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE,
-            "NumberOfAttributeValues");
-
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "NumberOfAttributeValues");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "NumberOfAttributeValues");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PredicateRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PredicateRuleParser.java
index f526e62..695c622 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PredicateRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PredicateRuleParser.java
@@ -20,29 +20,26 @@ package net.shibboleth.idp.attribute.filter.spring.policyrule.impl;
 import javax.annotation.Nonnull;
 import javax.xml.namespace.QName;
 
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
+
 import net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl.PredicatePolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
 import net.shibboleth.idp.attribute.filter.spring.policyrule.BasePolicyRuleParser;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
 
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
 /**
  * Bean definition parser for {@link PredicatePolicyRule}.
  */
 public class PredicateRuleParser extends BasePolicyRuleParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE, "Predicate");
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "Predicate");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Predicate");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRegexRuleParser.java
index b733167..36df8da 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRegexRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRegexRuleParser.java
@@ -22,7 +22,6 @@ import javax.xml.namespace.QName;
 
 import net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl.PrincipalNameRegexpPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
 
 /**
  * Bean definition parser for {@link PrincipalNameRegexpPolicyRule}.
@@ -30,15 +29,11 @@ import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasi
 public class PrincipalNameRegexRuleParser extends AbstractRegexPolicyRuleParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE,
-            "PrincipalNameRegex");
-
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "PrincipalNameRegex");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "PrincipalNameRegex");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRuleParser.java
index 42f51d4..4aff2f1 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRuleParser.java
@@ -22,7 +22,6 @@ import javax.xml.namespace.QName;
 
 import net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl.PrincipalNamePolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler;
 
 /**
  * Bean definition parser for {@link PrincipalNamePolicyRule}.
@@ -30,15 +29,12 @@ import net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasi
 public class PrincipalNameRuleParser extends AbstractStringPolicyRuleParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterBasicNamespaceHandler.NAMESPACE,
-            "PrincipalNameString");
-
     /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "PrincipalName");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "PrincipalName");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRegexRuleParser.java
index 8bac980..a4f74c5 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRegexRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRegexRuleParser.java
@@ -29,11 +29,11 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
 public class ProxiedRequesterRegexRuleParser extends AbstractRegexPolicyRuleParser {
 
     /** Schema type. */
-    @Nonnull public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "ProxiedRequesterRegex");
+    @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ProxiedRequesterRegex");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRuleParser.java
index cbd1942..470f0d6 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRuleParser.java
@@ -29,11 +29,11 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
 public class ProxiedRequesterRuleParser extends AbstractStringPolicyRuleParser {
 
     /** Schema type. */
-    @Nonnull public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "ProxiedRequester");
+    @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ProxiedRequester");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeFilterSAMLNamespaceHandler.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeFilterSAMLNamespaceHandler.java
deleted file mode 100644
index 174d50d..0000000
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeFilterSAMLNamespaceHandler.java
+++ /dev/null
@@ -1,73 +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.idp.attribute.filter.spring.saml.impl;
-
-import net.shibboleth.ext.spring.util.BaseSpringNamespaceHandler;
-
-/** Namespace handler for the attribute filter engine SAML match functions. */
-public class AttributeFilterSAMLNamespaceHandler extends BaseSpringNamespaceHandler {
-
-    /** Basic match function namespace. */
-    public static final String NAMESPACE = "urn:mace:shibboleth:2.0:afp:mf:saml";
-
-    /** {@inheritDoc} */
-    @Override public void init() {
-
-        registerBeanDefinitionParser(AttributeIssuerEntityAttributeExactRuleParser.SCHEMA_TYPE,
-                new AttributeIssuerEntityAttributeExactRuleParser());
-
-        registerBeanDefinitionParser(AttributeIssuerEntityAttributeRegexRuleParser.SCHEMA_TYPE,
-                new AttributeIssuerEntityAttributeRegexRuleParser());
-
-        registerBeanDefinitionParser(AttributeRequesterEntityAttributeExactRuleParser.SCHEMA_TYPE,
-                new AttributeRequesterEntityAttributeExactRuleParser());
-        registerBeanDefinitionParser(AttributeRequesterEntityAttributeExactRuleParser.SCHEMA_TYPE_V2,
-                new AttributeRequesterEntityAttributeExactRuleParser());
-
-        registerBeanDefinitionParser(AttributeRequesterEntityAttributeRegexRuleParser.SCHEMA_TYPE,
-                new AttributeRequesterEntityAttributeRegexRuleParser());
-        registerBeanDefinitionParser(AttributeRequesterEntityAttributeRegexRuleParser.SCHEMA_TYPE_V2,
-                new AttributeRequesterEntityAttributeRegexRuleParser());
-
-        registerBeanDefinitionParser(AttributeRequesterNameIdFormatRuleParser.SCHEMA_TYPE,
-                new AttributeRequesterNameIdFormatRuleParser());
-        registerBeanDefinitionParser(AttributeRequesterNameIdFormatRuleParser.SCHEMA_TYPE_V2,
-                new AttributeRequesterNameIdFormatRuleParser());
-
-        registerBeanDefinitionParser(AttributeIssuerNameIdFormatRuleParser.SCHEMA_TYPE,
-                new AttributeIssuerNameIdFormatRuleParser());
-
-        registerBeanDefinitionParser(AttributeIssuerInEntityGroupRuleParser.SCHEMA_TYPE,
-                new AttributeIssuerInEntityGroupRuleParser());
-
-        registerBeanDefinitionParser(AttributeRequesterInEntityGroupRuleParser.SCHEMA_TYPE,
-                new AttributeRequesterInEntityGroupRuleParser());
-        registerBeanDefinitionParser(AttributeRequesterInEntityGroupRuleParser.SCHEMA_TYPE_V2,
-                new AttributeRequesterInEntityGroupRuleParser());
-
-        registerBeanDefinitionParser(AttributeInMetadataRuleParser.SCHEMA_TYPE,
-                new AttributeInMetadataRuleParser());
-
-        registerBeanDefinitionParser(MappedAttributeInMetadataRuleParser.SCHEMA_TYPE,
-                new MappedAttributeInMetadataRuleParser());
-
-        registerBeanDefinitionParser(RegistrationAuthorityRuleParser.SCHEMA_TYPE,
-                new RegistrationAuthorityRuleParser());
-    }
-    
-}
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java
index 37b06ef..df0a49d 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java
@@ -34,17 +34,13 @@ import org.w3c.dom.Element;
  */
 public class AttributeInMetadataRuleParser extends BaseAttributeValueMatcherParser {
 
-    /** Schema type - saml. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE,
-            "AttributeInMetadata");
-
-    /** Schema type - afp. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE,
+    /** Schema type. */
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
             "AttributeInMetadata");
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerEntityAttributeExactRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerEntityAttributeExactRuleParser.java
deleted file mode 100644
index a48b0ae..0000000
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerEntityAttributeExactRuleParser.java
+++ /dev/null
@@ -1,54 +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.idp.attribute.filter.spring.saml.impl;
-
-import javax.annotation.Nonnull;
-import javax.xml.namespace.QName;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.BeanCreationException;
-
-
-/**
- * Parser for AttributeIssuerEntityAttributeExactPolicyRule.
- */
-public class AttributeIssuerEntityAttributeExactRuleParser extends AbstractEntityAttributeRuleParser {
-
-    /** Schema name. */
-    public static final String SCHEMA_NAME = "AttributeIssuerEntityAttributeExactMatch";
-
-    /** Schema type - saml. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE, SCHEMA_NAME);
-    
-    /** Class logger. */
-    private final Logger log = LoggerFactory.getLogger(AttributeIssuerEntityAttributeExactRuleParser.class);
-
-    /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
-    @Override @Nonnull protected Class<?> getNativeBeanClass() {
-
-        log.error("Unimplemented Attribute Filter {}.  Consider other implementation methods.", SCHEMA_NAME);
-        throw new BeanCreationException("Unimplemented filter " + SCHEMA_NAME);
-    }
-
-}
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerEntityAttributeRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerEntityAttributeRegexRuleParser.java
deleted file mode 100644
index e335392..0000000
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerEntityAttributeRegexRuleParser.java
+++ /dev/null
@@ -1,70 +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.idp.attribute.filter.spring.saml.impl;
-
-import javax.annotation.Nonnull;
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.BeanCreationException;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser for AttributeIssuerEntityAttributeRegexPolicyRule.
- */
-public class AttributeIssuerEntityAttributeRegexRuleParser extends AbstractEntityAttributeRuleParser {
-
-    /** Schema name. */
-    public static final String SCHEMA_NAME = "AttributeIssuerEntityAttributeRegexMatch";
-
-    /** Schema type - saml. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE, SCHEMA_NAME);
-
-    /** Schema type - afp. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, SCHEMA_NAME);
-
-    /** Class logger. */
-    private final Logger log = LoggerFactory.getLogger(AttributeIssuerEntityAttributeExactRuleParser.class);
-
-    /** {@inheritDoc} */
-    @Override @Nonnull protected Class<?> getNativeBeanClass() {
-
-        log.error("Unimplemented Attribute Filter {}.  Consider other implementation methods.", SCHEMA_NAME);
-        throw new BeanCreationException("Unimplemented filter " + SCHEMA_NAME);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
-            @Nonnull final BeanDefinitionBuilder builder) {
-        super.doNativeParse(element, parserContext, builder);
-
-        builder.addPropertyValue("valueRegex", element.getAttributeNS(null, "attributeValueRegex"));
-
-    }
-
-}
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerInEntityGroupRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerInEntityGroupRuleParser.java
deleted file mode 100644
index db29e41..0000000
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerInEntityGroupRuleParser.java
+++ /dev/null
@@ -1,67 +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.idp.attribute.filter.spring.saml.impl;
-
-import javax.annotation.Nonnull;
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.policyrule.BasePolicyRuleParser;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.BeanCreationException;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser for AttributeIssuerInEntityGroupPolicyRule.
- */
-public class AttributeIssuerInEntityGroupRuleParser extends BasePolicyRuleParser {
-
-    /** Schema name. */
-    public static final String SCHEMA_NAME = "AttributeIssuerInEntityGroup";
-
-    /** Schema type - saml. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE, SCHEMA_NAME);
-
-    /** Schema type - afp. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, SCHEMA_NAME);
-
-    /** Class logger. */
-    private final Logger log = LoggerFactory.getLogger(AttributeIssuerEntityAttributeExactRuleParser.class);
-
-    /** {@inheritDoc} */
-    @Override @Nonnull protected Class<?> getNativeBeanClass() {
-        log.error("Unimplemented Attribute Filter {}.  Consider other implementation methods.", SCHEMA_NAME);
-        throw new BeanCreationException("Unimplemented filter " + SCHEMA_NAME);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
-            @Nonnull final BeanDefinitionBuilder builder) {
-        log.error("Unimplemented Attribute Filter {}.  Consider other implementation methods.", SCHEMA_NAME);
-        throw new BeanCreationException("Unimplemented filter " + SCHEMA_NAME);
-    }
-}
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerNameIdFormatRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerNameIdFormatRuleParser.java
deleted file mode 100644
index a0f4b4d..0000000
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerNameIdFormatRuleParser.java
+++ /dev/null
@@ -1,68 +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.idp.attribute.filter.spring.saml.impl;
-
-import javax.annotation.Nonnull;
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.policyrule.BasePolicyRuleParser;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.BeanCreationException;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser for AttributeIssuerNameIDFormatExactPolicyRule.
- */
-public class AttributeIssuerNameIdFormatRuleParser extends BasePolicyRuleParser {
-
-    /** Schema name. */
-    public static final String SCHEMA_NAME = "AttributeIssuerNameIDFormatExactMatch";
-
-    /** Schema type - saml. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE, SCHEMA_NAME);
-
-    /** Schema type - afp. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, SCHEMA_NAME);
-
-    /** Class logger. */
-    private final Logger log = LoggerFactory.getLogger(AttributeIssuerEntityAttributeExactRuleParser.class);
-
-    /** {@inheritDoc} */
-    @Override @Nonnull protected Class<?> getNativeBeanClass() {
-
-        log.error("Unimplemented Attribute Filter {}.  Consider other implementation methods.", SCHEMA_NAME);
-        throw new BeanCreationException("Unimplemented filter " + SCHEMA_NAME);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
-            @Nonnull final BeanDefinitionBuilder builder) {
-        log.error("Unimplemented Attribute Filter {}.  Consider other implementation methods.", SCHEMA_NAME);
-        throw new BeanCreationException("Unimplemented filter " + SCHEMA_NAME);
-    }
-}
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
index 0188c73..e58c42e 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
@@ -32,16 +32,8 @@ import org.w3c.dom.Element;
  */
 public class AttributeRequesterEntityAttributeExactRuleParser extends AbstractEntityAttributeRuleParser {
 
-    /** Schema type - v2. */
-    public static final QName SCHEMA_TYPE_V2 = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE,
-            "AttributeRequesterEntityAttributeExactMatch");
-
-    /** Schema type -saml. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE,
-            "EntityAttributeExactMatch");
-
-    /** Schema type -saml. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE,
+    /** Schema type. */
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
             "EntityAttributeExactMatch");
 
     @Override @Nonnull protected Class<AttributeRequesterEntityAttributeExactPolicyRule> getNativeBeanClass() {
@@ -51,7 +43,7 @@ public class AttributeRequesterEntityAttributeExactRuleParser extends AbstractEn
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java
index f772156..60fa12b 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java
@@ -32,18 +32,10 @@ import org.w3c.dom.Element;
  */
 public class AttributeRequesterEntityAttributeRegexRuleParser extends AbstractEntityAttributeRuleParser {
 
-    /** Schema type - saml. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE,
+    /** Schema type. */
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
             "EntityAttributeRegexMatch");
 
-    /** Schema type - afp. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE,
-            "EntityAttributeRegexMatch");
-
-    /** Schema type - v2. */
-    public static final QName SCHEMA_TYPE_V2 = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE,
-            "AttributeRequesterEntityAttributeRegexMatch");
-
     /** {@inheritDoc} */
     @Override @Nonnull protected Class<AttributeRequesterEntityAttributeRegexPolicyRule> getNativeBeanClass() {
 
@@ -52,7 +44,7 @@ public class AttributeRequesterEntityAttributeRegexRuleParser extends AbstractEn
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterInEntityGroupRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterInEntityGroupRuleParser.java
index 69b4cf8..bcba5b4 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterInEntityGroupRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterInEntityGroupRuleParser.java
@@ -34,15 +34,8 @@ import org.w3c.dom.Element;
  */
 public class AttributeRequesterInEntityGroupRuleParser extends BasePolicyRuleParser {
 
-    /** Schema type - saml. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE, "InEntityGroup");
-
-    /** Schema type - afp. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE, "InEntityGroup");
-
-    /** Schema type - v2. */
-    public static final QName SCHEMA_TYPE_V2 = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE,
-            "AttributeRequesterInEntityGroup");
+    /** Schema type. */
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "InEntityGroup");
 
     /** {@inheritDoc} */
     @Override @Nonnull protected Class<AttributeRequesterInEntityGroupPolicyRule> getNativeBeanClass() {
@@ -51,7 +44,7 @@ public class AttributeRequesterInEntityGroupRuleParser extends BasePolicyRulePar
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterNameIdFormatRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterNameIdFormatRuleParser.java
index 41b4ce0..1546232 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterNameIdFormatRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterNameIdFormatRuleParser.java
@@ -34,17 +34,9 @@ import org.w3c.dom.Element;
  */
 public class AttributeRequesterNameIdFormatRuleParser extends BasePolicyRuleParser {
 
-    /** Schema type- saml. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE,
-            "NameIDFormatExactMatch");
-
-    /** Schema type- afp. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE,
-            "NameIDFormatExactMatch");
-
     /** Schema type. */
-    public static final QName SCHEMA_TYPE_V2 = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE,
-            "AttributeRequesterNameIDFormatExactMatch");
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
+            "NameIDFormatExactMatch");
 
     /** {@inheritDoc} */
     @Override @Nonnull protected Class<AttributeRequesterNameIDFormatExactPolicyRule> getNativeBeanClass() {
@@ -53,7 +45,7 @@ public class AttributeRequesterNameIdFormatRuleParser extends BasePolicyRulePars
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java
index 1ef4872..d83b6be 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java
@@ -35,11 +35,7 @@ import org.w3c.dom.Element;
 public class MappedAttributeInMetadataRuleParser extends BaseAttributeValueMatcherParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE,
-            "MappedAttributeInMetadata");
-
-    /** Schema type. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE,
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
             "MappedAttributeInMetadata");
 
     /** {@inheritDoc} */
@@ -49,7 +45,7 @@ public class MappedAttributeInMetadataRuleParser extends BaseAttributeValueMatch
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RegistrationAuthorityRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RegistrationAuthorityRuleParser.java
index 74e3dab..594341a 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RegistrationAuthorityRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RegistrationAuthorityRuleParser.java
@@ -37,12 +37,8 @@ import org.w3c.dom.Element;
 /** Spring bean definition parser that creates {@link RegistrationAuthorityPolicyRule} beans. */
 public class RegistrationAuthorityRuleParser extends BasePolicyRuleParser {
 
-    /** Schema type - saml. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE,
-            "RegistrationAuthority");
-    
-    /** Schema type - afp. */
-    public static final QName SCHEMA_TYPE_AFP = new QName(BaseFilterParser.NAMESPACE,
+    /** Schema type. */
+    public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
             "RegistrationAuthority");
 
     /** Name of the attribute carrying the Issuers list. */
@@ -61,7 +57,7 @@ public class RegistrationAuthorityRuleParser extends BasePolicyRuleParser {
 
     /** {@inheritDoc} */
     @Override protected QName getAFPName() {
-        return SCHEMA_TYPE_AFP;
+        return SCHEMA_TYPE;
     }
 
     /** {@inheritDoc} */
diff --git a/idp-attribute-filter-spring/src/main/resources/META-INF/spring.handlers b/idp-attribute-filter-spring/src/main/resources/META-INF/spring.handlers
index 83f2838..93c0b94 100644
--- a/idp-attribute-filter-spring/src/main/resources/META-INF/spring.handlers
+++ b/idp-attribute-filter-spring/src/main/resources/META-INF/spring.handlers
@@ -1,3 +1 @@
 urn\:mace\:shibboleth\:2.0\:afp = net.shibboleth.idp.attribute.filter.spring.impl.AttributeFilterNamespaceHandler
-urn\:mace\:shibboleth\:2.0\:afp\:mf\:basic = net.shibboleth.idp.attribute.filter.spring.basic.impl.AttributeFilterBasicNamespaceHandler
-urn\:mace\:shibboleth\:2.0\:afp\:mf\:saml = net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeFilterSAMLNamespaceHandler
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/AttributeFilterServiceTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/AttributeFilterServiceTest.java
index 89c5ce4..9249d95 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/AttributeFilterServiceTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/AttributeFilterServiceTest.java
@@ -192,13 +192,7 @@ public class AttributeFilterServiceTest {
     }
 
     @Test public void testAll() throws ServiceException, AttributeFilterException, ComponentInitializationException {
-        testAll(true);
-        testAll(false);
-    }
-
-    public void testAll(boolean nativeSpring) throws ServiceException, AttributeFilterException,
-            ComponentInitializationException {
-        final AttributeFilter filter = getFilter("policyAll.xml", nativeSpring);
+        final AttributeFilter filter = getFilter("policyAll.xml", false);
 
         AttributeFilterContext filterContext = new AttributeFilterContext();
         filterContext.setPrefilteredIdPAttributes(attributesToBeFiltered.values());
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/BaseAttributeFilterParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/BaseAttributeFilterParserTest.java
index a9c669d..7632594 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/BaseAttributeFilterParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/BaseAttributeFilterParserTest.java
@@ -108,13 +108,13 @@ public class BaseAttributeFilterParserTest extends XMLObjectBaseTestCase {
         return getBean(claz, context);
     }
 
-    protected PolicyRequirementRule getPolicyRule(String fileName, boolean isAfp) throws ComponentInitializationException {
+    protected PolicyRequirementRule getPolicyRule(String fileName) throws ComponentInitializationException {
 
         GenericApplicationContext context = new FilesystemGenericApplicationContext();
         context.setDisplayName("ApplicationContext: Policy Rule");
 
         setTestContext(context);
-        final String path = POLICY_RULE_PATH + (isAfp?"afp/":"") + fileName; 
+        final String path = POLICY_RULE_PATH + "afp/"  + fileName; 
         final AttributeFilterPolicy policy =
                 getBean(path, AttributeFilterPolicy.class, context);
 
@@ -122,13 +122,13 @@ public class BaseAttributeFilterParserTest extends XMLObjectBaseTestCase {
         return policy.getPolicyRequirementRule();
     }
 
-    protected Matcher getMatcher(String fileName, boolean isAfp) throws ComponentInitializationException {
+    protected Matcher getMatcher(String fileName) throws ComponentInitializationException {
 
         GenericApplicationContext context = new FilesystemGenericApplicationContext();
         context.setDisplayName("ApplicationContext: Matcher");
         setTestContext(context);
         
-        final String path = MATCHER_PATH + (isAfp?"afp/":"") + fileName; 
+        final String path = MATCHER_PATH + "afp/" + fileName; 
 
         final AttributeRule rule = getBean(path, AttributeRule.class, context);
 
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/AndTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/AndTest.java
index 63e1daf..5bfd8ae 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/AndTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/AndTest.java
@@ -38,14 +38,7 @@ import org.testng.annotations.Test;
 public class AndTest extends BaseAttributeFilterParserTest {
 
     @Test public void matcher() throws ComponentInitializationException {
-        matcher("and.xml", true);
-        matcher("and.xml", false);
-    }
-
-    public void matcher(String path, boolean isAfp) throws ComponentInitializationException {
-
-        AndMatcher what = (AndMatcher) getMatcher(path, isAfp);
-        
+        AndMatcher what = (AndMatcher) getMatcher("and.xml");
         final List<Matcher> children = what.getComposedMatchers();
         
         Assert.assertEquals(children.size(), 2);
@@ -54,12 +47,7 @@ public class AndTest extends BaseAttributeFilterParserTest {
     }
 
     @Test public void policy() throws ComponentInitializationException {
-        policy("and.xml", true);
-        policy("and.xml", false);
-    }
-
-    public void policy(String path, boolean isAfp) throws ComponentInitializationException {
-        AndPolicyRule what = (AndPolicyRule) getPolicyRule(path, isAfp);
+        AndPolicyRule what = (AndPolicyRule) getPolicyRule("and.xml");
         
         final List<PolicyRequirementRule> children = what.getComposedRules();
         Assert.assertEquals(children.size(), 2);
@@ -68,12 +56,7 @@ public class AndTest extends BaseAttributeFilterParserTest {
     }
     
     @Test public void matcherSingleton() throws ComponentInitializationException {
-        matcherSingleton("andSingleton.xml", false);
-        matcherSingleton("andSingleton.xml", true);
-    }
-    
-    public void matcherSingleton(String path, boolean isAfp) throws ComponentInitializationException {
-        AndMatcher what = (AndMatcher) getMatcher(path, isAfp);
+        AndMatcher what = (AndMatcher) getMatcher("andSingleton.xml");
         
         final List<Matcher> children = what.getComposedMatchers();
         
@@ -82,12 +65,7 @@ public class AndTest extends BaseAttributeFilterParserTest {
     }
 
     @Test public void policySingleton() throws ComponentInitializationException {
-        policySingleton("andSingleton.xml", true);
-        policySingleton("andSingleton.xml", false);
-    }
-    
-    public void policySingleton(String path, boolean isAfp) throws ComponentInitializationException {
-        AndPolicyRule what = (AndPolicyRule) getPolicyRule(path, isAfp);
+        AndPolicyRule what = (AndPolicyRule) getPolicyRule("andSingleton.xml");
         
         final List<PolicyRequirementRule> children = what.getComposedRules();
         Assert.assertEquals(children.size(), 1);
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/AnyTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/AnyTest.java
index 2b5a329..2a267e1 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/AnyTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/AnyTest.java
@@ -31,23 +31,13 @@ import org.testng.annotations.Test;
 public class AnyTest extends BaseAttributeFilterParserTest {
     
     @Test public void testMatcher() throws ComponentInitializationException {
-        testMatcher("any.xml", true);
-        testMatcher("any.xml", true);
-    }
-    
-    public void testMatcher(String path, boolean isAfp) throws ComponentInitializationException {
-        Matcher matcher = getMatcher(path, isAfp);
+        Matcher matcher = getMatcher("any.xml");
         
         Assert.assertEquals(Matcher.MATCHES_ALL.getClass(), matcher.getClass());
     }
     
     @Test public void testPolicy() throws ComponentInitializationException {
-        testPolicy("any.xml", true);
-        testPolicy("any.xml", false);
-    }
-
-    public void testPolicy(String path, boolean isAfp) throws ComponentInitializationException {
-        PolicyRequirementRule policy = getPolicyRule(path, isAfp);
+        PolicyRequirementRule policy = getPolicyRule("any.xml");
         Assert.assertEquals(PolicyRequirementRule.MATCHES_ALL.getClass(), policy.getClass());
     }
 
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/Implicit.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/Implicit.java
index 885d8e1..6570874 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/Implicit.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/Implicit.java
@@ -30,12 +30,7 @@ import org.testng.annotations.Test;
 public class Implicit extends BaseAttributeFilterParserTest {
 
     @Test public void implicit() throws ComponentInitializationException {
-        implicit("implicit.xml", true);
-        implicit("implicit.xml", false);
-    }
-
-    public void implicit(String path, boolean isAfp) throws ComponentInitializationException {
-        Matcher what = getMatcher(path, isAfp);
+        Matcher what = getMatcher("implicit.xml");
 
         Assert.assertSame(what.getClass(), Matcher.MATCHES_ALL.getClass());
     }
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/NotTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/NotTest.java
index f129fb0..70570e5 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/NotTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/NotTest.java
@@ -34,12 +34,7 @@ import org.testng.annotations.Test;
 public class NotTest extends BaseAttributeFilterParserTest {
 
     @Test public void matcher() throws ComponentInitializationException {
-        matcher("not.xml", true);
-        matcher("not.xml", false);
-    }
-    
-    public void matcher(String path, boolean isAfp) throws ComponentInitializationException {
-        NotMatcher what = (NotMatcher) getMatcher(path,isAfp);
+        NotMatcher what = (NotMatcher) getMatcher("not.xml");
 
         NotMatcher child = (NotMatcher) what.getNegatedMatcher();
 
@@ -47,12 +42,7 @@ public class NotTest extends BaseAttributeFilterParserTest {
     }
 
     @Test public void policy() throws ComponentInitializationException {
-        policy("not.xml", true);
-        policy("not.xml", false);
-    }
-
-    public void policy(String path, boolean isAfp) throws ComponentInitializationException {
-        NotPolicyRule what = (NotPolicyRule) getPolicyRule(path,isAfp);
+        NotPolicyRule what = (NotPolicyRule) getPolicyRule("not.xml");
 
         NotPolicyRule child = (NotPolicyRule) what.getNegatedRule();
 
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/OrTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/OrTest.java
index 8ed9fc9..e3d4d66 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/OrTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/OrTest.java
@@ -38,13 +38,7 @@ import org.testng.annotations.Test;
 public class OrTest extends BaseAttributeFilterParserTest {
 
     @Test public void matcher() throws ComponentInitializationException {
-        matcher( "or.xml", true);
-        matcher( "or.xml", false);
-    }
-
-    public void matcher(String path, boolean isAfp) throws ComponentInitializationException {
-
-        OrMatcher what = (OrMatcher) getMatcher(path,isAfp);
+        OrMatcher what = (OrMatcher) getMatcher("or.xml");
 
         final List<Matcher> children = what.getComposedMatchers();
 
@@ -54,12 +48,7 @@ public class OrTest extends BaseAttributeFilterParserTest {
     }
 
     @Test public void policy() throws ComponentInitializationException {
-        policy("or.xml", true);
-        policy("or.xml", false);
-    }
-    
-    public void policy(String path, boolean isAfp) throws ComponentInitializationException {
-        OrPolicyRule what = (OrPolicyRule) getPolicyRule(path,isAfp );
+        OrPolicyRule what = (OrPolicyRule) getPolicyRule("or.xml");
 
         final List<PolicyRequirementRule> children = what.getComposedRules();
         Assert.assertEquals(children.size(), 2);
@@ -68,13 +57,7 @@ public class OrTest extends BaseAttributeFilterParserTest {
     }
     
     @Test public void matcherSingleton() throws ComponentInitializationException {
-        matcherSingleton( "orSingleton.xml", true);
-        matcherSingleton( "orSingleton.xml", false);
-    }
-
-    public void matcherSingleton(String path, boolean isAfp) throws ComponentInitializationException {
-
-        OrMatcher what = (OrMatcher) getMatcher( path,isAfp);
+        OrMatcher what = (OrMatcher) getMatcher("orSingleton.xml");
 
         final List<Matcher> children = what.getComposedMatchers();
 
@@ -83,12 +66,7 @@ public class OrTest extends BaseAttributeFilterParserTest {
     }
 
     @Test public void policySingleton() throws ComponentInitializationException {
-        policySingleton( "orSingleton.xml", true);
-        policySingleton( "orSingleton.xml", false);
-    }
-
-    public void policySingleton(String path, boolean isAfp) throws ComponentInitializationException {
-        OrPolicyRule what = (OrPolicyRule) getPolicyRule(path,isAfp);
+        OrPolicyRule what = (OrPolicyRule) getPolicyRule("orSingleton.xml");
 
         final List<PolicyRequirementRule> children = what.getComposedRules();
         Assert.assertEquals(children.size(), 1);
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/ScriptedTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/ScriptedTest.java
index 2d69777..3590bcc 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/ScriptedTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/ScriptedTest.java
@@ -56,13 +56,7 @@ public class ScriptedTest extends BaseAttributeFilterParserTest {
     }
 
     @Test public void policy() throws ComponentInitializationException {
-        policy(true);
-        policy(false);
-   }
-    
-   public void policy(boolean isAfp) throws ComponentInitializationException {
-
-        final ScriptedPolicyRule rule = (ScriptedPolicyRule) getPolicyRule(getScript(), isAfp);
+        final ScriptedPolicyRule rule = (ScriptedPolicyRule) getPolicyRule(getScript());
 
         AttributeFilterContext filterContext = new AttributeFilterContext();
         filterContext.setPrefilteredIdPAttributes(epaUid.values());
@@ -71,16 +65,11 @@ public class ScriptedTest extends BaseAttributeFilterParserTest {
     
     @Test(expectedExceptions={BeanCreationException.class,}) public void policyNotFound() throws ComponentInitializationException {
 
-        getPolicyRule("scriptedNotThere.xml", false);
+        getPolicyRule("scriptedNotThere.xml");
     }
     
     @Test public void matcher()  throws ComponentInitializationException {
-        matcher(false);
-        matcher(true);
-    }
-    
-    public void matcher(boolean isAfp)  throws ComponentInitializationException {
-        final ScriptedMatcher matcher = (ScriptedMatcher) getMatcher(getScript(), isAfp);
+        final ScriptedMatcher matcher = (ScriptedMatcher) getMatcher(getScript());
         
         AttributeFilterContext filterContext = new AttributeFilterContext();
         filterContext.setPrefilteredIdPAttributes(epaUid.values());
@@ -93,7 +82,7 @@ public class ScriptedTest extends BaseAttributeFilterParserTest {
     
     @Test public void customMatcher() throws ComponentInitializationException {
         
-        final ScriptedMatcher what = (ScriptedMatcher) getMatcher(getScript(), false);
+        final ScriptedMatcher what = (ScriptedMatcher) getMatcher(getScript());
         
         Assert.assertNull(what.getCustomObject());
         
@@ -101,7 +90,7 @@ public class ScriptedTest extends BaseAttributeFilterParserTest {
 
     @Test public void customPolicy() throws ComponentInitializationException {
         
-        final ScriptedPolicyRule what = (ScriptedPolicyRule) getPolicyRule(getScript(), true);
+        final ScriptedPolicyRule what = (ScriptedPolicyRule) getPolicyRule(getScript());
         
         final Map custom = (Map) what.getCustomObject();
      
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeRegexMatcherParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeRegexMatcherParserTest.java
index 56708bb..122e2bf 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeRegexMatcherParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeRegexMatcherParserTest.java
@@ -31,12 +31,9 @@ import org.testng.annotations.Test;
 public class AttributeRegexMatcherParserTest extends BaseAttributeFilterParserTest {
 
     @Test public void matcher() throws ComponentInitializationException {
-        AttributeValueRegexpMatcher what = (AttributeValueRegexpMatcher) getMatcher("attributeRegex.xml", true);
+        AttributeValueRegexpMatcher what = (AttributeValueRegexpMatcher) getMatcher("attributeRegex.xml");
         
         Assert.assertEquals(what.getRegularExpression(), "^jsmit.*$");
 
-        what = (AttributeValueRegexpMatcher) getMatcher("attributeRegex.xml", false);
-        
-        Assert.assertEquals(what.getRegularExpression(), "^jsmit.*$");
     }
 }
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeScopeMatcherParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeScopeMatcherParserTest.java
index e1c9243..1eac4bf 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeScopeMatcherParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeScopeMatcherParserTest.java
@@ -31,15 +31,11 @@ import org.testng.annotations.Test;
 public class AttributeScopeMatcherParserTest extends BaseAttributeFilterParserTest {
 
     @Test public void matcher() throws ComponentInitializationException {
-        AttributeScopeStringMatcher what = (AttributeScopeStringMatcher) getMatcher("attributeScope.xml", true);
+        AttributeScopeStringMatcher what = (AttributeScopeStringMatcher) getMatcher("attributeScope.xml");
         
         Assert.assertEquals(what.getMatchString(), "jSmItH");
         Assert.assertFalse(what.isIgnoreCase());
 
-        what = (AttributeScopeStringMatcher) getMatcher("attributeScope.xml", false);
-        
-        Assert.assertEquals(what.getMatchString(), "jSmItH");
-        Assert.assertFalse(what.isIgnoreCase());
 }
 
 }
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeScopeRegexMatcherParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeScopeRegexMatcherParserTest.java
index 6cb5f2a..1eadba9 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeScopeRegexMatcherParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeScopeRegexMatcherParserTest.java
@@ -32,12 +32,9 @@ public class AttributeScopeRegexMatcherParserTest extends BaseAttributeFilterPar
 
     @Test public void matcher() throws ComponentInitializationException {
 
-        AttributeScopeRegexpMatcher what = (AttributeScopeRegexpMatcher) getMatcher("attributeScopeRegex.xml", true);
+        AttributeScopeRegexpMatcher what = (AttributeScopeRegexpMatcher) getMatcher("attributeScopeRegex.xml");
         
         Assert.assertEquals(what.getRegularExpression(), "^example^..*$");
 
-        what = (AttributeScopeRegexpMatcher) getMatcher("attributeScopeRegex.xml", false);
-        
-        Assert.assertEquals(what.getRegularExpression(), "^example^..*$");
-}
+    }
 }
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeValueMatcherParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeValueMatcherParserTest.java
index 6fa3550..d908e44 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeValueMatcherParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeValueMatcherParserTest.java
@@ -71,13 +71,7 @@ public class AttributeValueMatcherParserTest extends BaseAttributeFilterParserTe
     
     
     @Test public void targetedPolicy() throws ComponentInitializationException {
-        targetedPolicy("attributeValueId.xml", true);
-        targetedPolicy("attributeValueId.xml", false);
-    }
-
-    public void targetedPolicy(String path, boolean isAfp) throws ComponentInitializationException {
-
-        final PolicyRequirementRule rule = getPolicyRule(path, isAfp);
+        final PolicyRequirementRule rule = getPolicyRule("attributeValueId.xml");
 
         AttributeFilterContext filterContext = new AttributeFilterContext();
         filterContext.setPrefilteredIdPAttributes(epaUid.values());
@@ -93,13 +87,7 @@ public class AttributeValueMatcherParserTest extends BaseAttributeFilterParserTe
     }
 
     @Test public void unTargetedPolicy() throws ComponentInitializationException {
-        unTargetedPolicy("attributeValueNoId.xml", true);
-        unTargetedPolicy("attributeValueNoId.xml", false);
-    }
-
-    public void unTargetedPolicy(String path, boolean isAfp) throws ComponentInitializationException {
-
-        final PolicyRequirementRule rule = getPolicyRule(path, isAfp);
+        final PolicyRequirementRule rule = getPolicyRule("attributeValueNoId.xml");
 
         AttributeFilterContext filterContext = new AttributeFilterContext();
         filterContext.setPrefilteredIdPAttributes(epaUid.values());
@@ -115,13 +103,7 @@ public class AttributeValueMatcherParserTest extends BaseAttributeFilterParserTe
     }
 
     @Test public void unTargetedMatcher() throws ComponentInitializationException {
-        unTargetedMatcher("attributeValueNoId.xml", true);
-        unTargetedMatcher("attributeValueNoId.xml", false);
-    }
-
-    public void unTargetedMatcher(String path, boolean isAfp) throws ComponentInitializationException {
-
-        final Matcher matcher = getMatcher(path, isAfp);
+        final Matcher matcher = getMatcher("attributeValueNoId.xml");
 
         AttributeFilterContext filterContext = new AttributeFilterContext();
         filterContext.setPrefilteredIdPAttributes(epaUid.values());
@@ -144,13 +126,8 @@ public class AttributeValueMatcherParserTest extends BaseAttributeFilterParserTe
     }
 
     @Test public void targetedMatcher() throws ComponentInitializationException {
-        targetedMatcher("attributeValueId.xml", true); 
-        targetedMatcher("attributeValueId.xml", false); 
-    }
-
-    public void targetedMatcher(String path, boolean isAfp) throws ComponentInitializationException {
 
-        final Matcher matcher = getMatcher(path, isAfp);
+        final Matcher matcher = getMatcher("attributeValueId.xml");
 
         AttributeFilterContext filterContext = new AttributeFilterContext();
         filterContext.setPrefilteredIdPAttributes(epaUid.values());
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeIssuerRegexRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeIssuerRegexRuleParserTest.java
index 8b86bdd..7728d51 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeIssuerRegexRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeIssuerRegexRuleParserTest.java
@@ -29,7 +29,7 @@ public class AttributeIssuerRegexRuleParserTest extends BaseAttributeFilterParse
 
     @Test public void policy() throws ComponentInitializationException {
 
-        AttributeIssuerRegexpPolicyRule arRule = (AttributeIssuerRegexpPolicyRule) getPolicyRule("issuerRegex.xml", true);
+        AttributeIssuerRegexpPolicyRule arRule = (AttributeIssuerRegexpPolicyRule) getPolicyRule("issuerRegex.xml");
         Assert.assertEquals(arRule.getRegularExpression(), "^urn:example:.*$");    
     }
  
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeIssuerRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeIssuerRuleParserTest.java
index 3b4e25c..5023f8c 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeIssuerRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeIssuerRuleParserTest.java
@@ -31,12 +31,7 @@ import org.testng.annotations.Test;
 public class AttributeIssuerRuleParserTest extends BaseAttributeFilterParserTest {
  
     @Test public void policy() throws ComponentInitializationException {
-        policy("attributeIssuer.xml", true);
-        policy("attributeIssuer.xml", false);
-    }
-
-    public void policy(String path, boolean isAfp) throws ComponentInitializationException {
-        final PolicyRequirementRule rule = getPolicyRule(path, isAfp);
+        final PolicyRequirementRule rule = getPolicyRule("attributeIssuer.xml");
 
         AttributeFilterContext filterContext =
                 DataSources.populatedFilterContext("principal", "urn:example:org:idp:foo", "http://example.org");
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRegexRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRegexRuleParserTest.java
index dd92734..cfb82d7 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRegexRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRegexRuleParserTest.java
@@ -29,10 +29,7 @@ public class AttributeRequesterRegexRuleParserTest extends BaseAttributeFilterPa
 
     @Test public void policy() throws ComponentInitializationException {
 
-        AttributeRequesterRegexpPolicyRule arRule = (AttributeRequesterRegexpPolicyRule) getPolicyRule("attributeRegexRequester.xml", true);
-        Assert.assertEquals(arRule.getRegularExpression(), "^urn:example:.*$");
-
-        arRule = (AttributeRequesterRegexpPolicyRule) getPolicyRule("attributeRegexRequester.xml", false);
+        AttributeRequesterRegexpPolicyRule arRule = (AttributeRequesterRegexpPolicyRule) getPolicyRule("attributeRegexRequester.xml");
         Assert.assertEquals(arRule.getRegularExpression(), "^urn:example:.*$");
     }
  
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRuleParserTest.java
index 101f3ea..0d7e1fe 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRuleParserTest.java
@@ -56,12 +56,7 @@ public class AttributeRequesterRuleParserTest extends BaseAttributeFilterParserT
     }
 
     @Test public void policy() throws ComponentInitializationException {
-        policy("attributeRequester.xml", true);
-        policy("attributeRequester.xml", false);
-    }
-
-    public void policy(String path, boolean isAfp) throws ComponentInitializationException {
-        final PolicyRequirementRule rule = getPolicyRule(path, isAfp);
+        final PolicyRequirementRule rule = getPolicyRule("attributeRequester.xml");
 
         AttributeFilterContext filterContext = DataSources.populatedFilterContext("principal", "issuer", "http://example.org");
         Assert.assertEquals(rule.matches(filterContext), Tristate.FALSE);
@@ -74,12 +69,7 @@ public class AttributeRequesterRuleParserTest extends BaseAttributeFilterParserT
     }
  
     @Test public void matcher() throws ComponentInitializationException {
-        matcher("attributeRequester.xml", true);
-        matcher("attributeRequester.xml", false);
-    }
-
-    public void matcher(String path, boolean isAfp) throws ComponentInitializationException {
-        final Matcher matcher = getMatcher(path, isAfp);
+        final Matcher matcher = getMatcher("attributeRequester.xml");
 
         AttributeFilterContext filterContext = DataSources.populatedFilterContext("principal", "issuer", "http://example.org");
         filterContext.setPrefilteredIdPAttributes(epaUid.values());
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AuthenticationMethodRegexRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AuthenticationMethodRegexRuleParserTest.java
index 4b480fb..0018d84 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AuthenticationMethodRegexRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AuthenticationMethodRegexRuleParserTest.java
@@ -29,10 +29,7 @@ public class AuthenticationMethodRegexRuleParserTest extends BaseAttributeFilter
 
     @Test public void policy() throws ComponentInitializationException {
 
-        AuthenticationMethodRegexpPolicyRule rule = (AuthenticationMethodRegexpPolicyRule) getPolicyRule("authenticationMethodRegex.xml", true);
-        Assert.assertEquals(rule.getRegularExpression(), "^urn:oasis:names:tc:SAML:2\\.0:ac:classes:[^:]*$");
-
-        rule = (AuthenticationMethodRegexpPolicyRule) getPolicyRule("authenticationMethodRegex.xml", false);
+        AuthenticationMethodRegexpPolicyRule rule = (AuthenticationMethodRegexpPolicyRule) getPolicyRule("authenticationMethodRegex.xml");
         Assert.assertEquals(rule.getRegularExpression(), "^urn:oasis:names:tc:SAML:2\\.0:ac:classes:[^:]*$");
     }
  
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AuthenticationMethodRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AuthenticationMethodRuleParserTest.java
index bfca5d4..128f7b1 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AuthenticationMethodRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AuthenticationMethodRuleParserTest.java
@@ -28,10 +28,7 @@ public class AuthenticationMethodRuleParserTest extends BaseAttributeFilterParse
 
     @Test public void policy() throws ComponentInitializationException {
 
-        AuthenticationMethodPolicyRule arRule = (AuthenticationMethodPolicyRule) getPolicyRule("authenticationMethod.xml", true);
-        Assert.assertEquals(arRule.getMatchString(), "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport");
-
-        arRule = (AuthenticationMethodPolicyRule) getPolicyRule("authenticationMethod.xml", false);
+        AuthenticationMethodPolicyRule arRule = (AuthenticationMethodPolicyRule) getPolicyRule("authenticationMethod.xml");
         Assert.assertEquals(arRule.getMatchString(), "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport");
     }
  
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/NumOfAttributeValuesRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/NumOfAttributeValuesRuleParserTest.java
index d0c3ba5..45ec083 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/NumOfAttributeValuesRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/NumOfAttributeValuesRuleParserTest.java
@@ -28,15 +28,9 @@ public class NumOfAttributeValuesRuleParserTest extends BaseAttributeFilterParse
 
     @Test public void policy() throws ComponentInitializationException {
 
-        NumOfAttributeValuesPolicyRule rule = (NumOfAttributeValuesPolicyRule) getPolicyRule("numberAttrValues.xml", true);
+        NumOfAttributeValuesPolicyRule rule = (NumOfAttributeValuesPolicyRule) getPolicyRule("numberAttrValues.xml");
         Assert.assertEquals(rule.getAttributeId(), "uid");
         Assert.assertEquals(rule.getMinimum(), 1);
         Assert.assertEquals(rule.getMaximum(), 3);
-
-        rule = (NumOfAttributeValuesPolicyRule) getPolicyRule("numberAttrValues.xml", false);
-        Assert.assertEquals(rule.getAttributeId(), "uid");
-        Assert.assertEquals(rule.getMinimum(), 1);
-        Assert.assertEquals(rule.getMaximum(), 3);
-}
- 
+    }
 }
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PredicateRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PredicateRuleParserTest.java
index 71513e6..23ba853 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PredicateRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PredicateRuleParserTest.java
@@ -39,16 +39,11 @@ import org.testng.annotations.Test;
 public class PredicateRuleParserTest extends BaseAttributeFilterParserTest {
 
     @Test public void policy() throws ComponentInitializationException {
-        policy(true);
-        policy(false);
-    }
-
-    public void policy(boolean isAfp) throws ComponentInitializationException {
         GenericApplicationContext ctx = new GenericApplicationContext();
         setTestContext(ctx);
         SchemaTypeAwareXMLBeanDefinitionReader beanDefinitionReader = new SchemaTypeAwareXMLBeanDefinitionReader(ctx);
 
-        beanDefinitionReader.loadBeanDefinitions(new ClassPathResource(BaseAttributeFilterParserTest.POLICY_RULE_PATH + (isAfp?"afp/":"")
+        beanDefinitionReader.loadBeanDefinitions(new ClassPathResource(BaseAttributeFilterParserTest.POLICY_RULE_PATH + "afp/"
                 + "predicate1.xml"), new ClassPathResource(BaseAttributeFilterParserTest.POLICY_RULE_PATH
                 + "predicateBeans.xml"));
 
@@ -66,17 +61,12 @@ public class PredicateRuleParserTest extends BaseAttributeFilterParserTest {
     }
 
     @Test public void strategy() throws ComponentInitializationException {
-        strategy(true);
-        strategy(false);
-    }
-    
-    public void strategy(boolean isAfp) throws ComponentInitializationException {
         GenericApplicationContext ctx = new GenericApplicationContext();
         setTestContext(ctx);
         SchemaTypeAwareXMLBeanDefinitionReader beanDefinitionReader = new SchemaTypeAwareXMLBeanDefinitionReader(ctx);
 
         beanDefinitionReader.loadBeanDefinitions(new ClassPathResource(BaseAttributeFilterParserTest.POLICY_RULE_PATH 
-                + "predicateBeans.xml"), new ClassPathResource(BaseAttributeFilterParserTest.POLICY_RULE_PATH + (isAfp?"afp/":"")
+                + "predicateBeans.xml"), new ClassPathResource(BaseAttributeFilterParserTest.POLICY_RULE_PATH + "afp/"
                 + "predicate2.xml"));
 
         ctx.refresh();
@@ -97,17 +87,12 @@ public class PredicateRuleParserTest extends BaseAttributeFilterParserTest {
     
 
     @Test public void rp() throws Exception {
-        rp(true);
-        rp(false);
-    }
-    
-    public void rp(boolean isAfp) throws Exception {
         GenericApplicationContext ctx = new GenericApplicationContext();
         setTestContext(ctx);
         SchemaTypeAwareXMLBeanDefinitionReader beanDefinitionReader = new SchemaTypeAwareXMLBeanDefinitionReader(ctx);
 
         beanDefinitionReader.loadBeanDefinitions(new ClassPathResource(BaseAttributeFilterParserTest.POLICY_RULE_PATH
-                + "predicateBeans.xml"), new ClassPathResource(BaseAttributeFilterParserTest.POLICY_RULE_PATH + (isAfp?"afp/":"")
+                + "predicateBeans.xml"), new ClassPathResource(BaseAttributeFilterParserTest.POLICY_RULE_PATH + "afp/"
                 + "predicateRp.xml"));
 
         ctx.refresh();
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PrincipalNameRegexRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PrincipalNameRegexRuleParserTest.java
index 0a03c23..42e1869 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PrincipalNameRegexRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PrincipalNameRegexRuleParserTest.java
@@ -29,11 +29,7 @@ public class PrincipalNameRegexRuleParserTest extends BaseAttributeFilterParserT
 
     @Test public void policy() throws ComponentInitializationException {
 
-        PrincipalNameRegexpPolicyRule rule = (PrincipalNameRegexpPolicyRule) getPolicyRule("principalNameRegex.xml", true);
+        PrincipalNameRegexpPolicyRule rule = (PrincipalNameRegexpPolicyRule) getPolicyRule("principalNameRegex.xml");
         Assert.assertEquals(rule.getRegularExpression(), "^jsmit.*$");
-
-        rule = (PrincipalNameRegexpPolicyRule) getPolicyRule("principalNameRegex.xml", false);
-        Assert.assertEquals(rule.getRegularExpression(), "^jsmit.*$");
-}
- 
+    }
 }
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PrincipalNameRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PrincipalNameRuleParserTest.java
index 9c58126..5f13724 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PrincipalNameRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/PrincipalNameRuleParserTest.java
@@ -28,11 +28,7 @@ public class PrincipalNameRuleParserTest extends BaseAttributeFilterParserTest {
 
     @Test public void policy() throws ComponentInitializationException {
 
-        PrincipalNamePolicyRule arRule = (PrincipalNamePolicyRule) getPolicyRule("principalName.xml", false);
+        PrincipalNamePolicyRule arRule = (PrincipalNamePolicyRule) getPolicyRule("principalName.xml");
         Assert.assertEquals(arRule.getMatchString(), "jsmith");
-
-        arRule = (PrincipalNamePolicyRule) getPolicyRule("principalName.xml", true);
-        Assert.assertEquals(arRule.getMatchString(), "jsmith");
-}
- 
+    }
 }
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRegexRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRegexRuleParserTest.java
index ace4e5b..4ce08e2 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRegexRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRegexRuleParserTest.java
@@ -29,7 +29,7 @@ public class ProxiedRequesterRegexRuleParserTest extends BaseAttributeFilterPars
 
     @Test public void policy() throws ComponentInitializationException {
 
-        final ProxiedRequesterRegexpPolicyRule arRule = (ProxiedRequesterRegexpPolicyRule) getPolicyRule("proxiedRegexRequester.xml", true);
+        final ProxiedRequesterRegexpPolicyRule arRule = (ProxiedRequesterRegexpPolicyRule) getPolicyRule("proxiedRegexRequester.xml");
         Assert.assertEquals(arRule.getRegularExpression(), "^urn:example:.*$");
     }
  
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRuleParserTest.java
index f0d5026..1c7d262 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRuleParserTest.java
@@ -49,11 +49,7 @@ public class ProxiedRequesterRuleParserTest extends BaseAttributeFilterParserTes
     }
 
     @Test public void policy() throws ComponentInitializationException {
-        policy("proxiedRequester.xml", true);
-    }
-
-    public void policy(String path, boolean isAfp) throws ComponentInitializationException {
-        final PolicyRequirementRule rule = getPolicyRule(path, isAfp);
+        final PolicyRequirementRule rule = getPolicyRule("proxiedRequester.xml");
 
         AttributeFilterContext filterContext = DataSources.populatedFilterContext("principal", "issuer", "http://example.org");
         filterContext.setProxiedRequesterContextLookupStrategy(
@@ -71,11 +67,7 @@ public class ProxiedRequesterRuleParserTest extends BaseAttributeFilterParserTes
     }
  
     @Test public void matcher() throws ComponentInitializationException {
-        matcher("proxiedRequester.xml", true);
-    }
-
-    public void matcher(String path, boolean isAfp) throws ComponentInitializationException {
-        final Matcher matcher = getMatcher(path, isAfp);
+        final Matcher matcher = getMatcher("proxiedRequester.xml");
 
         AttributeFilterContext filterContext = DataSources.populatedFilterContext("principal", "issuer", "http://example.org");
         filterContext.setProxiedRequesterContextLookupStrategy(
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeInMetadataRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeInMetadataRuleParserTest.java
index 68b9ea9..8d8d056 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeInMetadataRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeInMetadataRuleParserTest.java
@@ -36,16 +36,11 @@ import org.testng.annotations.Test;
 public class AttributeInMetadataRuleParserTest extends  BaseAttributeFilterParserTest {
 
     @Test public void requested() throws ComponentInitializationException {
-//        requested(false);
-        requested(true);
-    }
-    
-    public void requested(boolean isAfp) throws ComponentInitializationException {
         GenericApplicationContext context = new FilesystemGenericApplicationContext();
         setTestContext(context);
         context.setDisplayName("ApplicationContext: Matcher");
         
-        final AttributeRule rule = getBean(MATCHER_PATH + (isAfp?"afp/":"") + "requestedInMetadata.xml", AttributeRule.class, context);
+        final AttributeRule rule = getBean(MATCHER_PATH + "afp/" + "requestedInMetadata.xml", AttributeRule.class, context);
         rule.initialize();
         AttributeInMetadataMatcher matcher = (AttributeInMetadataMatcher) rule.getMatcher();
      
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerEntityAttributeExactRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerEntityAttributeExactRuleParserTest.java
deleted file mode 100644
index 84d0ab9..0000000
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerEntityAttributeExactRuleParserTest.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.idp.attribute.filter.spring.saml;
-
-import net.shibboleth.idp.attribute.filter.spring.BaseAttributeFilterParserTest;
-import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeIssuerEntityAttributeExactRuleParser;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-
-import org.springframework.beans.factory.BeanDefinitionStoreException;
-import org.testng.annotations.Test;
-
-/**
- * test for (removed) {@link AttributeIssuerEntityAttributeExactRuleParser}.
- */
-public class AttributeIssuerEntityAttributeExactRuleParserTest extends BaseAttributeFilterParserTest {
-
-    @Test(expectedExceptions = {BeanDefinitionStoreException.class}) public void removed()
-            throws ComponentInitializationException {
-        getPolicyRule("issuerEA.xml", false);
-
-    }
-}
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerEntityAttributeRegexRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerEntityAttributeRegexRuleParserTest.java
deleted file mode 100644
index e7850b3..0000000
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerEntityAttributeRegexRuleParserTest.java
+++ /dev/null
@@ -1,36 +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.idp.attribute.filter.spring.saml;
-
-import net.shibboleth.idp.attribute.filter.spring.BaseAttributeFilterParserTest;
-import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeIssuerEntityAttributeRegexRuleParser;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-
-import org.springframework.beans.factory.BeanDefinitionStoreException;
-import org.testng.annotations.Test;
-
-/**
- * test for (removed) {@link AttributeIssuerEntityAttributeRegexRuleParser}.
- */
-public class AttributeIssuerEntityAttributeRegexRuleParserTest extends BaseAttributeFilterParserTest {
-
-    @Test(expectedExceptions = {BeanDefinitionStoreException.class}) public void removed()
-            throws ComponentInitializationException {
-        getPolicyRule("issuerEARegex.xml", false);
-    }
-}
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerInEntityGroupRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerInEntityGroupRuleParserTest.java
deleted file mode 100644
index e561f33..0000000
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerInEntityGroupRuleParserTest.java
+++ /dev/null
@@ -1,36 +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.idp.attribute.filter.spring.saml;
-
-import net.shibboleth.idp.attribute.filter.spring.BaseAttributeFilterParserTest;
-import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeRequesterInEntityGroupRuleParser;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-
-import org.springframework.beans.factory.BeanDefinitionStoreException;
-import org.testng.annotations.Test;
-
-/**
- * test for (removed) {@link AttributeRequesterInEntityGroupRuleParser}.
- */
-public class AttributeIssuerInEntityGroupRuleParserTest extends BaseAttributeFilterParserTest {
-
-    @Test(expectedExceptions = {BeanDefinitionStoreException.class}) public void removed()
-            throws ComponentInitializationException {
-        getPolicyRule("issuerEG.xml", false);
-    }
-}
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerNameIdFormatRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerNameIdFormatRuleParserTest.java
deleted file mode 100644
index b2771e5..0000000
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerNameIdFormatRuleParserTest.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.idp.attribute.filter.spring.saml;
-
-import net.shibboleth.idp.attribute.filter.spring.BaseAttributeFilterParserTest;
-import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeIssuerNameIdFormatRuleParser;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-
-import org.springframework.beans.factory.BeanDefinitionStoreException;
-import org.testng.annotations.Test;
-
-/**
- * test for (removed) {@link AttributeIssuerNameIdFormatRuleParser}.
- */
-public class AttributeIssuerNameIdFormatRuleParserTest extends BaseAttributeFilterParserTest {
-
-    @Test(expectedExceptions = {BeanDefinitionStoreException.class}) public void removed()
-            throws ComponentInitializationException {
-        getPolicyRule("issuerNameId.xml", false);
-
-    }
-}
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeExactRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeExactRuleParserTest.java
index a229841..a8c686a 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeExactRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeExactRuleParserTest.java
@@ -17,14 +17,14 @@
 
 package net.shibboleth.idp.attribute.filter.spring.saml;
 
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
 import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeRequesterEntityAttributeExactPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseAttributeFilterParserTest;
 import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeRequesterEntityAttributeRegexRuleParser;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
 /**
  * test for {@link AttributeRequesterEntityAttributeRegexRuleParser}.
  */
@@ -32,24 +32,9 @@ public class AttributeRequesterEntityAttributeExactRuleParserTest extends BaseAt
 
     @Test public void basic() throws ComponentInitializationException {
         AttributeRequesterEntityAttributeExactPolicyRule rule =
-                (AttributeRequesterEntityAttributeExactPolicyRule) getPolicyRule("requesterEA2.xml", false);
+                (AttributeRequesterEntityAttributeExactPolicyRule) getPolicyRule("requesterEA2.xml");
 
         Assert.assertEquals(rule.getValue(), "urn:example.org:policy:ABCD1234");
         Assert.assertEquals(rule.getAttributeName(), "urn:example.org:policy");
-        
-        rule =
-                (AttributeRequesterEntityAttributeExactPolicyRule) getPolicyRule("requesterEA2.xml", true);
-
-        Assert.assertEquals(rule.getValue(), "urn:example.org:policy:ABCD1234");
-        Assert.assertEquals(rule.getAttributeName(), "urn:example.org:policy");
-    }
-
-    @Test public void v2() throws ComponentInitializationException {
-        final AttributeRequesterEntityAttributeExactPolicyRule rule =
-                (AttributeRequesterEntityAttributeExactPolicyRule) getPolicyRule("requesterEA.xml", false);
-
-        Assert.assertEquals(rule.getValue(), "urn:example.org:policy:ABCD1234");
-        Assert.assertEquals(rule.getAttributeName(), "urn:example.org:policy");
-
     }
 }
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeRegexRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeRegexRuleParserTest.java
index 7820f1d..394307b 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeRegexRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeRegexRuleParserTest.java
@@ -17,34 +17,21 @@
 
 package net.shibboleth.idp.attribute.filter.spring.saml;
 
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
 import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeRequesterEntityAttributeRegexPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseAttributeFilterParserTest;
 import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeRequesterEntityAttributeRegexRuleParser;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
 /**
  * test for {@link AttributeRequesterEntityAttributeRegexRuleParser}.
  */
 public class AttributeRequesterEntityAttributeRegexRuleParserTest extends  BaseAttributeFilterParserTest {
 
     @Test public void basic() throws ComponentInitializationException {
-        AttributeRequesterEntityAttributeRegexPolicyRule rule = (AttributeRequesterEntityAttributeRegexPolicyRule) getPolicyRule("requesterEARegex2.xml", true);
-     
-        Assert.assertEquals(rule.getValueRegex().pattern(), "^urn:example\\.org:policy:[^:]*$");
-        Assert.assertEquals(rule.getAttributeName(), "urn:example.org:policy");
-
-        rule = (AttributeRequesterEntityAttributeRegexPolicyRule) getPolicyRule("requesterEARegex2.xml", true);
-        
-        Assert.assertEquals(rule.getValueRegex().pattern(), "^urn:example\\.org:policy:[^:]*$");
-        Assert.assertEquals(rule.getAttributeName(), "urn:example.org:policy");
-    }
-
-    @Test public void v2() throws ComponentInitializationException {
-        final AttributeRequesterEntityAttributeRegexPolicyRule rule = (AttributeRequesterEntityAttributeRegexPolicyRule) getPolicyRule("requesterEARegex.xml", false);
-     
+        final AttributeRequesterEntityAttributeRegexPolicyRule rule = (AttributeRequesterEntityAttributeRegexPolicyRule) getPolicyRule("requesterEARegex2.xml");
         Assert.assertEquals(rule.getValueRegex().pattern(), "^urn:example\\.org:policy:[^:]*$");
         Assert.assertEquals(rule.getAttributeName(), "urn:example.org:policy");
     }
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterInEntityGroupRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterInEntityGroupRuleParserTest.java
index 59224d4..82007ad 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterInEntityGroupRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterInEntityGroupRuleParserTest.java
@@ -17,33 +17,23 @@
 
 package net.shibboleth.idp.attribute.filter.spring.saml;
 
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
 import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeRequesterInEntityGroupPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseAttributeFilterParserTest;
 import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeRequesterInEntityGroupRuleParser;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
 /**
  * test for {@link AttributeRequesterInEntityGroupRuleParser}.
  */
 public class AttributeRequesterInEntityGroupRuleParserTest extends  BaseAttributeFilterParserTest {
 
-    @Test public void v2() throws ComponentInitializationException {
-        final AttributeRequesterInEntityGroupPolicyRule rule = (AttributeRequesterInEntityGroupPolicyRule) getPolicyRule("requesterEG.xml", false);
-     
-        Assert.assertEquals(rule.getEntityGroup(), "urn:example.org");
-
-    }
-    
     @Test public void basic() throws ComponentInitializationException {
-        AttributeRequesterInEntityGroupPolicyRule rule = (AttributeRequesterInEntityGroupPolicyRule) getPolicyRule("requesterEG2.xml", true);
+        final AttributeRequesterInEntityGroupPolicyRule rule = (AttributeRequesterInEntityGroupPolicyRule) getPolicyRule("requesterEG2.xml");
      
         Assert.assertEquals(rule.getEntityGroup(), "urn:example.org");
 
-        rule = (AttributeRequesterInEntityGroupPolicyRule) getPolicyRule("requesterEG2.xml", true);
-        
-        Assert.assertEquals(rule.getEntityGroup(), "urn:example.org");
     }
 }
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterNameIdFormatRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterNameIdFormatRuleParserTest.java
index d2a55e1..bdabba8 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterNameIdFormatRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterNameIdFormatRuleParserTest.java
@@ -30,21 +30,9 @@ import org.testng.annotations.Test;
  */
 public class AttributeRequesterNameIdFormatRuleParserTest extends BaseAttributeFilterParserTest {
 
-    @Test public void v2() throws ComponentInitializationException {
-        final AttributeRequesterNameIDFormatExactPolicyRule rule =
-                (AttributeRequesterNameIDFormatExactPolicyRule) getPolicyRule("requesterNameId.xml", false);
-
-        Assert.assertEquals(rule.getNameIdFormat(), "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent");
-
-    }
-
     @Test public void basic() throws ComponentInitializationException {
-        AttributeRequesterNameIDFormatExactPolicyRule rule =
-                (AttributeRequesterNameIDFormatExactPolicyRule) getPolicyRule("requesterNameId2.xml", false);
-
-        Assert.assertEquals(rule.getNameIdFormat(), "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent");
-
-        rule = (AttributeRequesterNameIDFormatExactPolicyRule) getPolicyRule("requesterNameId2.xml", true);
+        final AttributeRequesterNameIDFormatExactPolicyRule rule =
+                (AttributeRequesterNameIDFormatExactPolicyRule) getPolicyRule("requesterNameId2.xml");
 
         Assert.assertEquals(rule.getNameIdFormat(), "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent");
     }
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/MappedAttributeInMetadataRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/MappedAttributeInMetadataRuleParserTest.java
index 38e04af..7797746 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/MappedAttributeInMetadataRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/MappedAttributeInMetadataRuleParserTest.java
@@ -36,17 +36,11 @@ import org.testng.annotations.Test;
 public class MappedAttributeInMetadataRuleParserTest extends  BaseAttributeFilterParserTest {
 
     @Test public void mapped() throws ComponentInitializationException {
-        mapped(true);
-        mapped(false);
-    }
-    
-    public void mapped(boolean isAfp) throws ComponentInitializationException {
-       
         GenericApplicationContext context = new FilesystemGenericApplicationContext();
         setTestContext(context);
         context.setDisplayName("ApplicationContext: Matcher");
         
-        final AttributeRule rule = getBean(MATCHER_PATH + (isAfp?"afp/":"") + "mappedInMetadata.xml", AttributeRule.class, context);
+        final AttributeRule rule = getBean(MATCHER_PATH + "afp/mappedInMetadata.xml", AttributeRule.class, context);
         rule.initialize();
         MappedAttributeInMetadataMatcher matcher = (MappedAttributeInMetadataMatcher) rule.getMatcher();
      
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/RegistrationAuthorityRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/RegistrationAuthorityRuleParserTest.java
index 14d5f36..d047920 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/RegistrationAuthorityRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/RegistrationAuthorityRuleParserTest.java
@@ -34,13 +34,7 @@ public class RegistrationAuthorityRuleParserTest extends BaseAttributeFilterPars
 
 
     @Test public void silentTrue() throws ComponentInitializationException {
-        silentTrue("registrationAuthorityOne.xml", false);
-        silentTrue("registrationAuthorityOne.xml", true);
-    }
-
-    public void silentTrue(String path, boolean isAfp) throws ComponentInitializationException {
-
-        final RegistrationAuthorityPolicyRule rule = (RegistrationAuthorityPolicyRule) getPolicyRule(path, isAfp);
+        final RegistrationAuthorityPolicyRule rule = (RegistrationAuthorityPolicyRule) getPolicyRule("registrationAuthorityOne.xml");
 
         Assert.assertTrue(rule.isMatchIfMetadataSilent());
         final Set<String> issuers = rule.getIssuers();
@@ -51,12 +45,7 @@ public class RegistrationAuthorityRuleParserTest extends BaseAttributeFilterPars
     }
 
     @Test public void silentFalse() throws ComponentInitializationException {
-        silentFalse("registrationAuthorityTwo.xml", false);
-        silentFalse("registrationAuthorityTwo.xml", true);
-    }
-    
-    public void silentFalse(String path, boolean isAfp) throws ComponentInitializationException {
-        final RegistrationAuthorityPolicyRule rule = (RegistrationAuthorityPolicyRule) getPolicyRule(path, isAfp);
+        final RegistrationAuthorityPolicyRule rule = (RegistrationAuthorityPolicyRule) getPolicyRule("registrationAuthorityTwo.xml");
 
         Assert.assertTrue(rule.isMatchIfMetadataSilent());
         final Set<String> issuers = rule.getIssuers();
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/and.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/and.xml
deleted file mode 100644
index fc35404..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/and.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<afp:AttributeRule attributeID="email"
-    	xmlns:afp="urn:mace:shibboleth:2.0:afp" xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PermitValueRule xsi:type="basic:AND">
-		<basic:Rule xsi:type="basic:NOT">
-			<basic:Rule xsi:type="basic:ANY" />
-		</basic:Rule>
-		<basic:Rule xsi:type="basic:ANY" />
-	</afp:PermitValueRule>
-</afp:AttributeRule>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/any.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/any.xml
deleted file mode 100644
index cb6dd63..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/any.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<afp:AttributeRule attributeID="email"
-    	xmlns:afp="urn:mace:shibboleth:2.0:afp" xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PermitValueRule xsi:type="basic:ANY" />
-</afp:AttributeRule>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeRegex.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeRegex.xml
deleted file mode 100644
index d6c052d..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeRegex.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeRule attributeID="email"
-    	xmlns:afp="urn:mace:shibboleth:2.0:afp" xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PermitValueRule xsi:type="basic:AttributeValueRegex"
-		regex="^jsmit.*$" />
-</afp:AttributeRule>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeRequester.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeRequester.xml
deleted file mode 100644
index 5d56813..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeRequester.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<afp:AttributeRule attributeID="email"
-    	xmlns:afp="urn:mace:shibboleth:2.0:afp" xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PermitValueRule xsi:type="basic:AttributeRequesterString" value="https://service.example.edu/shibboleth-sp" />
-</afp:AttributeRule>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeScope.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeScope.xml
deleted file mode 100644
index 5ff2f56..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeScope.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeRule attributeID="email"
-    	xmlns:afp="urn:mace:shibboleth:2.0:afp" xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	 <afp:PermitValueRule xsi:type="basic:AttributeScopeString"
-	value="jSmItH" ignoreCase="false" />
-</afp:AttributeRule>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeScopeRegex.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeScopeRegex.xml
deleted file mode 100644
index f3f3e2a..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeScopeRegex.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeRule attributeID="email"
-    	xmlns:afp="urn:mace:shibboleth:2.0:afp" xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PermitValueRule xsi:type="basic:AttributeScopeRegex"
-		regex="^example^..*$" />
-</afp:AttributeRule>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeValueId.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeValueId.xml
deleted file mode 100644
index b0374e5..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeValueId.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeRule attributeID="email"
-    	xmlns:afp="urn:mace:shibboleth:2.0:afp" xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	 <afp:PermitValueRule xsi:type="basic:AttributeValueString"
-	                  value="jsmith" attributeID="uid" ignoreCase="true" />
-</afp:AttributeRule>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeValueNoId.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeValueNoId.xml
deleted file mode 100644
index 9b3c212..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/attributeValueNoId.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeRule attributeID="email"
-    	xmlns:afp="urn:mace:shibboleth:2.0:afp" xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	 <afp:PermitValueRule xsi:type="basic:AttributeValueString"
-	value="jsmith" ignoreCase="true" />
-</afp:AttributeRule>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/implicit.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/implicit.xml
deleted file mode 100644
index e6b996f..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/implicit.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<afp:AttributeRule attributeID="email"
-        xmlns:afp="urn:mace:shibboleth:2.0:afp" xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd"
-        permitAny="true"/>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/not.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/not.xml
deleted file mode 100644
index 33957d5..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/not.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<afp:AttributeRule attributeID="email"
-    	xmlns:afp="urn:mace:shibboleth:2.0:afp" xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PermitValueRule xsi:type="basic:NOT">
-		<basic:Rule xsi:type="basic:NOT">
-			<basic:Rule xsi:type="basic:ANY" />
-		</basic:Rule>
-	</afp:PermitValueRule>
-</afp:AttributeRule>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/or.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/or.xml
deleted file mode 100644
index 7de7cc9..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/or.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<afp:AttributeRule attributeID="email"
-    	xmlns:afp="urn:mace:shibboleth:2.0:afp" xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PermitValueRule xsi:type="basic:OR">
-		<basic:Rule xsi:type="basic:NOT">
-			<basic:Rule xsi:type="basic:ANY" />
-		</basic:Rule>
-		<basic:Rule xsi:type="basic:ANY" />
-	</afp:PermitValueRule>
-</afp:AttributeRule>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/orSingleton.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/orSingleton.xml
deleted file mode 100644
index 4a55bb4..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/orSingleton.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<afp:AttributeRule attributeID="email"
-    	xmlns:afp="urn:mace:shibboleth:2.0:afp" xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PermitValueRule xsi:type="basic:OR">
-		<basic:Rule xsi:type="basic:NOT">
-			<basic:Rule xsi:type="basic:ANY" />
-		</basic:Rule>
-	</afp:PermitValueRule>
-</afp:AttributeRule>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/scripted-v8.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/scripted-v8.xml
deleted file mode 100644
index 98ff3ad..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/scripted-v8.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<afp:AttributeRule attributeID="email"
-    	xmlns:afp="urn:mace:shibboleth:2.0:afp" xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PermitValueRule xsi:type="basic:Script">
-		<basic:Script>
-        <![CDATA[
-            hs = Java.type("java.util.HashSet");
-            x = new hs();
-            x.add(attribute.getValues().iterator().next());
-            x;
-        ]]>
-		</basic:Script>
-	</afp:PermitValueRule>
-</afp:AttributeRule>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/scripted.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/scripted.xml
deleted file mode 100644
index 4f5a4bb..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/scripted.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<afp:AttributeRule attributeID="email"
-    	xmlns:afp="urn:mace:shibboleth:2.0:afp" xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PermitValueRule xsi:type="basic:Script">
-		<basic:Script>
-        <![CDATA[
-            importPackage(Packages.java.util);
-            x = new HashSet();
-            x.add(attribute.getValues().iterator().next());
-            x;
-        ]]>
-		</basic:Script>
-	</afp:PermitValueRule>
-</afp:AttributeRule>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/afp/scriptedNotThere.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/afp/scriptedNotThere.xml
new file mode 100644
index 0000000..48c4ced
--- /dev/null
+++ b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/afp/scriptedNotThere.xml
@@ -0,0 +1,8 @@
+<AttributeFilterPolicy id="MostBasicExample"
+    	xmlns="urn:mace:shibboleth:2.0:afp"
+    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd">
+	<PolicyRequirementRule xsi:type="Script">
+		<ScriptFile>src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/file.script.notThere</ScriptFile>
+	</PolicyRequirementRule>
+</AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/and.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/and.xml
deleted file mode 100644
index f2c92db..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/and.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:AND">
-		<basic:Rule xsi:type="basic:NOT">
-			<basic:Rule xsi:type="basic:ANY" />
-		</basic:Rule>
-		<basic:Rule xsi:type="basic:ANY" />
-	</afp:PolicyRequirementRule>
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/andSingleton.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/andSingleton.xml
deleted file mode 100644
index fff542a..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/andSingleton.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:AND">
-		<basic:Rule xsi:type="basic:NOT">
-			<basic:Rule xsi:type="basic:ANY" />
-		</basic:Rule>
-	</afp:PolicyRequirementRule>
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/any.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/any.xml
deleted file mode 100644
index 6fa2786..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/any.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:ANY" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeIssuer.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeIssuer.xml
deleted file mode 100644
index 6a9024b..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeIssuer.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:AttributeIssuerString" value="urn:example:org:idp:foo" ignoreCase="true"/>
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeRegexRequester.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeRegexRequester.xml
deleted file mode 100644
index 0281a3b..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeRegexRequester.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:AttributeRequesterRegex" regex="^urn:example:.*$" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeRequester.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeRequester.xml
deleted file mode 100644
index be268fe..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeRequester.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="https://service.example.edu/shibboleth-sp" ignoreCase="false"/>
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeValueId.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeValueId.xml
deleted file mode 100644
index 4a702b7..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeValueId.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:AttributeValueString"
-		value="jsmith" attributeID="uid" ignoreCase="true" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeValueNoId.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeValueNoId.xml
deleted file mode 100644
index f40010d..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/attributeValueNoId.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:AttributeValueString"
-		value="jsmith" ignoreCase="true" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/authenticationMethod.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/authenticationMethod.xml
deleted file mode 100644
index 458cee9..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/authenticationMethod.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:AuthenticationMethodString" value="urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/authenticationMethodRegex.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/authenticationMethodRegex.xml
deleted file mode 100644
index 937b7fa..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/authenticationMethodRegex.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:AuthenticationMethodRegex" regex="^urn:oasis:names:tc:SAML:2\.0:ac:classes:[^:]*$" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEA.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEA.xml
deleted file mode 100644
index 9943d34..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEA.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    	xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:saml http://shibboleth.net/schema/idp/shibboleth-afp-mf-saml.xsd">
-	<afp:PolicyRequirementRule xsi:type="saml:AttributeIssuerEntityAttributeExactMatch"
-                       attributeName="urn:example.org:policy"
-                       attributeValue="urn:example.org:policy:ABCD1234" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEARegex.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEARegex.xml
deleted file mode 100644
index f50f8f3..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEARegex.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:saml http://shibboleth.net/schema/idp/shibboleth-afp-mf-saml.xsd">
-	<afp:PolicyRequirementRule
-		xsi:type="saml:AttributeIssuerEntityAttributeRegexMatch"
-		attributeName="urn:example.org:policy" attributeNameFormat="urn:example.org:nf"
-		attributeValueRegex="^urn:example\.org:policy:[^:]*$" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEG.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEG.xml
deleted file mode 100644
index 7d36724..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEG.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:saml http://shibboleth.net/schema/idp/shibboleth-afp-mf-saml.xsd">
-	<afp:PolicyRequirementRule xsi:type="saml:AttributeIssuerInEntityGroup" groupID="urn:example.org" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerNameId.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerNameId.xml
deleted file mode 100644
index f0844f1..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerNameId.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:saml http://shibboleth.net/schema/idp/shibboleth-afp-mf-saml.xsd">
-	<afp:PolicyRequirementRule xsi:type="saml:AttributeIssuerNameIDFormatExactMatch"
-		nameIdFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/not.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/not.xml
deleted file mode 100644
index da12183..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/not.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:NOT">
-        <basic:Rule xsi:type="basic:NOT">
-            <basic:Rule xsi:type="basic:ANY" />
-        </basic:Rule>
-    </afp:PolicyRequirementRule>
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/numberAttrValues.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/numberAttrValues.xml
deleted file mode 100644
index 9cafe9d..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/numberAttrValues.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:NumberOfAttributeValues" attributeID="uid" minimum="1" maximum="3"/>
-
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/or.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/or.xml
deleted file mode 100644
index 3014454..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/or.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:OR">
-		<basic:Rule xsi:type="basic:NOT">
-			<basic:Rule xsi:type="basic:ANY" />
-		</basic:Rule>
-		<basic:Rule xsi:type="basic:ANY" />
-	</afp:PolicyRequirementRule>
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/orSingleton.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/orSingleton.xml
deleted file mode 100644
index 76d7c53..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/orSingleton.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:OR">
-		<basic:Rule xsi:type="basic:ANY" />
-	</afp:PolicyRequirementRule>
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/predicate1.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/predicate1.xml
deleted file mode 100644
index f3d355f..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/predicate1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:Predicate" rulePredicateRef="pred"/>
-
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/predicate2.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/predicate2.xml
deleted file mode 100644
index ff9c536..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/predicate2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:Predicate" rulePredicateRef="pred" contextStrategyRef="ctxStrategy"/>
-
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/predicateRp.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/predicateRp.xml
deleted file mode 100644
index 7a6b94d..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/predicateRp.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:Predicate" rulePredicateRef="rpPred"/>
-
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/principalName.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/principalName.xml
deleted file mode 100644
index b895110..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/principalName.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:PrincipalNameString" value="jsmith" />
-
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/principalNameRegex.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/principalNameRegex.xml
deleted file mode 100644
index c7b10a3..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/principalNameRegex.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:PrincipalNameRegex" regex="^jsmit.*$" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/registrationAuthorityOne.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/registrationAuthorityOne.xml
deleted file mode 100644
index 74599ec..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/registrationAuthorityOne.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:saml http://shibboleth.net/schema/idp/shibboleth-afp-mf-saml.xsd">
-
-	<afp:PolicyRequirementRule
-		xsi:type="saml:RegistrationAuthority" id="SilentTRUE"
-		matchIfMetadataSilent="true"
-		registrars="https://example.org/SilentTrue/One https://example.org/SilentTrue/Two" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/registrationAuthorityTwo.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/registrationAuthorityTwo.xml
deleted file mode 100644
index 6bfe295..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/registrationAuthorityTwo.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:saml http://shibboleth.net/schema/idp/shibboleth-afp-mf-saml.xsd">
-
-	<afp:PolicyRequirementRule
-		xsi:type="saml:RegistrationAuthority" id="SilentTRUE"
-		matchIfMetadataSilent="true"
-		registrars="https://example.org/SilentFalse/One https://example.org/SilentFalse/Two https://example.org/SilentFalse/Three" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEA.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEA.xml
deleted file mode 100644
index fa5b2ef..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEA.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    	xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:saml http://shibboleth.net/schema/idp/shibboleth-afp-mf-saml.xsd">
-	<afp:PolicyRequirementRule xsi:type="saml:AttributeRequesterEntityAttributeExactMatch"
-                       attributeName="urn:example.org:policy"
-                       attributeValue="urn:example.org:policy:ABCD1234" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEA2.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEA2.xml
deleted file mode 100644
index a92906b..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEA2.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    	xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:saml http://shibboleth.net/schema/idp/shibboleth-afp-mf-saml.xsd">
-	<afp:PolicyRequirementRule xsi:type="saml:EntityAttributeExactMatch"
-                       attributeName="urn:example.org:policy"
-                       attributeValue="urn:example.org:policy:ABCD1234" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEARegex.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEARegex.xml
deleted file mode 100644
index 5fd8007..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEARegex.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:saml http://shibboleth.net/schema/idp/shibboleth-afp-mf-saml.xsd">
-	<afp:PolicyRequirementRule
-		xsi:type="saml:AttributeRequesterEntityAttributeRegexMatch"
-		attributeName="urn:example.org:policy" attributeValueRegex="^urn:example\.org:policy:[^:]*$" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEARegex2.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEARegex2.xml
deleted file mode 100644
index 714d38f..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEARegex2.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:saml http://shibboleth.net/schema/idp/shibboleth-afp-mf-saml.xsd">
-	<afp:PolicyRequirementRule
-		xsi:type="saml:EntityAttributeRegexMatch"
-		attributeName="urn:example.org:policy" attributeValueRegex="^urn:example\.org:policy:[^:]*$" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEG.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEG.xml
deleted file mode 100644
index 0a497ac..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEG.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:saml http://shibboleth.net/schema/idp/shibboleth-afp-mf-saml.xsd">
-	<afp:PolicyRequirementRule xsi:type="saml:AttributeRequesterInEntityGroup" groupID="urn:example.org" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEG2.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEG2.xml
deleted file mode 100644
index aa2f23b..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterEG2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:saml http://shibboleth.net/schema/idp/shibboleth-afp-mf-saml.xsd">
-	<afp:PolicyRequirementRule xsi:type="saml:InEntityGroup" groupID="urn:example.org" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterNameId.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterNameId.xml
deleted file mode 100644
index af73af8..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterNameId.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:saml http://shibboleth.net/schema/idp/shibboleth-afp-mf-saml.xsd">
-	<afp:PolicyRequirementRule
-		xsi:type="saml:AttributeRequesterNameIDFormatExactMatch" nameIdFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterNameId2.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterNameId2.xml
deleted file mode 100644
index 59956b3..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/requesterNameId2.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:saml http://shibboleth.net/schema/idp/shibboleth-afp-mf-saml.xsd">
-	<afp:PolicyRequirementRule
-		xsi:type="saml:NameIDFormatExactMatch" nameIdFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" />
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/scripted-v8.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/scripted-v8.xml
deleted file mode 100644
index 52e1c97..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/scripted-v8.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:Script" language="JavaScript">
-		<basic:ScriptFile>src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/file.v8.script</basic:ScriptFile>
-	</afp:PolicyRequirementRule>
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/scripted.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/scripted.xml
deleted file mode 100644
index 5bbf116..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/scripted.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:Script" language="JavaScript" >
-		<basic:ScriptFile >src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/file.script</basic:ScriptFile>
-	</afp:PolicyRequirementRule>
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/scriptedNotThere.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/scriptedNotThere.xml
deleted file mode 100644
index 5a3c206..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/scriptedNotThere.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<afp:AttributeFilterPolicy id="MostBasicExample"
-    	xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic" xmlns:afp="urn:mace:shibboleth:2.0:afp"
-    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-	<afp:PolicyRequirementRule xsi:type="basic:Script">
-		<basic:ScriptFile>src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/file.script.notThere</basic:ScriptFile>
-	</afp:PolicyRequirementRule>
-</afp:AttributeFilterPolicy>
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/spring/native/policyAll.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/spring/native/policyAll.xml
deleted file mode 100644
index 6fc5443..0000000
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/spring/native/policyAll.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<afp:AttributeFilterPolicyGroup id="PolicyExample3"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-        xmlns:afp="urn:mace:shibboleth:2.0:afp"
-        xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-        xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd
-                            urn:mace:shibboleth:2.0:afp:mf:basic http://shibboleth.net/schema/idp/shibboleth-afp-mf-basic.xsd">
-
-    <afp:AttributeFilterPolicy id="MostBasicExample">
-        <afp:PolicyRequirementRule xsi:type="basic:ANY"/>
-        
-        <afp:AttributeRule attributeID="email" permitAny="true"/>
-    </afp:AttributeFilterPolicy>
-    
-</afp:AttributeFilterPolicyGroup>
diff --git a/idp-schema/src/main/resources/schema/shibboleth-afp-mf-basic.xsd b/idp-schema/src/main/resources/schema/shibboleth-afp-mf-basic.xsd
deleted file mode 100644
index 844dfcf..0000000
--- a/idp-schema/src/main/resources/schema/shibboleth-afp-mf-basic.xsd
+++ /dev/null
@@ -1,394 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
-        xmlns:basic="urn:mace:shibboleth:2.0:afp:mf:basic"
-        xmlns:afp="urn:mace:shibboleth:2.0:afp"
-        targetNamespace="urn:mace:shibboleth:2.0:afp:mf:basic"
-        elementFormDefault="qualified"
-        version="3.3.0">
-
-    <import namespace="urn:mace:shibboleth:2.0:afp" schemaLocation="http://shibboleth.net/schema/idp/shibboleth-afp.xsd"/>
-
-    <!-- Blanket Match Function -->
-    <complexType name="ANY">
-        <annotation>
-            <documentation>A match function that evaluates to true.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="afp:MatchFunctorType"/>
-        </complexContent>
-    </complexType>
-
-    <!--  Boolean Match Functions -->
-    <complexType name="AND">
-        <annotation>
-            <documentation>
-                A match function that performs a logical AND on the results of all contained matching functions.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="afp:MatchFunctorType">
-                <choice maxOccurs="unbounded">
-                    <element name="Rule" type="afp:MatchFunctorType">
-                        <annotation>
-                            <documentation>
-                                The set of match function rules to be ANDed.
-                            </documentation>
-                        </annotation>
-                    </element>
-                    <element name="RuleReference" type="afp:ReferenceType">
-                        <annotation>
-                            <documentation>
-                                The set of match function rules to be ANDed.
-                            </documentation>
-                        </annotation>
-                    </element>
-                </choice>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="OR">
-        <annotation>
-            <documentation>
-                A match function that performs a logical OR on the results of all contained matching functions.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="afp:MatchFunctorType">
-                <choice maxOccurs="unbounded">
-                    <element name="Rule" type="afp:MatchFunctorType">
-                        <annotation>
-                            <documentation>
-                                The set of match function rules to be ORed.
-                            </documentation>
-                        </annotation>
-                    </element>
-                    <element name="RuleReference" type="afp:ReferenceType">
-                        <annotation>
-                            <documentation>
-                                The set of match function rules to be ORed.
-                            </documentation>
-                        </annotation>
-                    </element>
-                </choice>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="NOT">
-        <annotation>
-            <documentation>
-                A match function that performs a logical NOT on the result of the contained matching function.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="afp:MatchFunctorType">
-                <choice>
-                    <element name="Rule" type="afp:MatchFunctorType">
-                        <annotation>
-                            <documentation>
-                                The set of match function rules to be negated.
-                            </documentation>
-                        </annotation>
-                    </element>
-                    <element name="RuleReference" type="afp:ReferenceType">
-                        <annotation>
-                            <documentation>
-                                The set of match function rules to be negated.
-                            </documentation>
-                        </annotation>
-                    </element>
-                </choice>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <!-- Predicate Plugin Function -->
-    <complexType name="Predicate">
-        <annotation>
-            <documentation>
-                A match function that matches the attribute request against the
-                specified value.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="afp:MatchFunctorType">
-                <attribute name="rulePredicateRef" type="string" use="required">
-                    <annotation>
-                        <documentation>
-                            The reference to an externally defined bean to do the predicate work
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="contextStrategyRef" type="string">
-                    <annotation>
-                        <documentation>
-                            The reference to an externally define bean to lookup the context
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <!--  Literal String Match Functions -->
-    <complexType name="AttributeRequesterString">
-        <annotation>
-            <documentation>
-                A match function that matches the attribute request against the specified value.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="basic:StringMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeIssuerString">
-        <annotation>
-            <documentation>
-                A match function that matches the attribute issuer against the specified value.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="basic:StringMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="PrincipalNameString">
-        <annotation>
-            <documentation>A match function that matches the principal name against the specified value.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="basic:StringMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AuthenticationMethodString">
-        <annotation>
-            <documentation>
-                A match function that matches the authentication method against the specified value.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="basic:StringMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeValueString">
-        <annotation>
-            <documentation>
-                A match function that matches the value of an attribute against the specified value. This match
-                evaluates to true if the attribute contains the specified value.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="basic:AttributeTargetedStringMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeScopeString">
-        <annotation>
-            <documentation>
-                A match function that matches the attribute scope against the specified value.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="basic:AttributeTargetedStringMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeTargetedStringMatchType" abstract="true">
-        <complexContent>
-            <extension base="basic:StringMatchType">
-                <attribute name="attributeID" type="string">
-                    <annotation>
-                        <documentation>
-                            The ID of the attribute whose value should be matched. If no attribute ID is specified the
-                            ID of the containing attribute rule is assumed.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="StringMatchType" abstract="true">
-        <complexContent>
-            <extension base="afp:MatchFunctorType">
-                <attribute name="value" type="string" use="required">
-                    <annotation>
-                        <documentation>The string value to match.</documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="ignoreCase" type="string">
-                    <annotation>
-                        <documentation>
-                            A boolean flag indicating whether case should be ignored when evaluating the match.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <!--  Regular Expression Match Functions -->
-    <complexType name="AttributeRequesterRegex">
-        <annotation>
-            <documentation>
-                A match function that matches the attribute requester against the specified regular expression.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="basic:RegexMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeIssuerRegex">
-        <annotation>
-            <documentation>
-                A match function that matches the attribute issuer against the specified regular expression.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="basic:RegexMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="PrincipalNameRegex">
-        <annotation>
-            <documentation>
-                A match function that matches the principal name against the specified regular expression.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="basic:RegexMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AuthenticationMethodRegex">
-        <annotation>
-            <documentation>
-                A match function that matches the authentication method against the specified regular expression.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="basic:RegexMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeValueRegex">
-        <annotation>
-            <documentation>
-                A match function that matches an attribute value against the specified regular expression. This function
-                evaluates to true if any value matches the given expression.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="basic:AttributeTargetedRegexMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeScopeRegex">
-        <annotation>
-            <documentation>
-                A match function that matches the attribute scope against the specified regular expression.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="basic:AttributeTargetedRegexMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeTargetedRegexMatchType" abstract="true">
-        <complexContent>
-            <extension base="basic:RegexMatchType">
-                <attribute name="attributeID" type="string">
-                    <annotation>
-                        <documentation>
-                            The ID of the attribute whose value should be matched. If no attribute ID is specified the
-                            ID of the containing attribute rule is assumed.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="RegexMatchType" abstract="true">
-        <complexContent>
-            <extension base="afp:MatchFunctorType">
-                <attribute name="regex" type="string" use="required">
-                    <annotation>
-                        <documentation>The regular expression values are matched against.</documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <!-- Misc. Functions -->
-    <complexType name="Script">
-        <annotation>
-            <documentation>
-                A match function that evaluates a script to determine if some criteria is met. The script MUST return a
-                boolean.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="afp:MatchFunctorType">
-                <choice>
-                    <element name="Script" type="string" minOccurs="0">
-                        <annotation>
-                            <documentation>The script to evaluate to construct the attribute.</documentation>
-                        </annotation>
-                    </element>
-                    <element name="ScriptFile" type="string" minOccurs="0">
-                        <annotation>
-                            <documentation>
-                                The filesystem path to the script to evaluate to construct the attribute.
-                            </documentation>
-                        </annotation>
-                    </element>
-                </choice>
-                <attribute name="language" type="string">
-                    <annotation>
-                        <documentation>
-                            The JSR-233 name for the scripting language that will be used. By default "javascript" is
-                            supported.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="NumberOfAttributeValues">
-        <annotation>
-            <documentation>
-                A match function that evaluates to true if the given attribute has as a number of values that falls
-                between the minimum and maximum. This method may be used as a sanity check to ensure that an unexpected
-                number of values did not come from the attribute resolver and be released.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="afp:MatchFunctorType">
-                <attribute name="attributeID" type="string" use="required">
-                    <annotation>
-                        <documentation>The ID of the attribute whose value should be matched.</documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="minimum" type="string">
-                    <annotation>
-                        <documentation>Minimum number of values an attribute may have.</documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="maximum" type="string">
-                    <annotation>
-                        <documentation>Maximum number of values an attribute may have.</documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-</schema>
diff --git a/idp-schema/src/main/resources/schema/shibboleth-afp-mf-saml.xsd b/idp-schema/src/main/resources/schema/shibboleth-afp-mf-saml.xsd
deleted file mode 100644
index f2c5ff1..0000000
--- a/idp-schema/src/main/resources/schema/shibboleth-afp-mf-saml.xsd
+++ /dev/null
@@ -1,394 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
-        xmlns:saml="urn:mace:shibboleth:2.0:afp:mf:saml"
-        xmlns:afp="urn:mace:shibboleth:2.0:afp"
-        targetNamespace="urn:mace:shibboleth:2.0:afp:mf:saml"
-        elementFormDefault="qualified"
-        version="3.3.0">
-
-    <import namespace="urn:mace:shibboleth:2.0:afp" schemaLocation="http://shibboleth.net/schema/idp/shibboleth-afp.xsd"/>
-
-    <annotation>
-        <documentation>
-            A set of SAML specific match functions. These match functions only operate against a
-            SAMLFilterContext.
-        </documentation>
-    </annotation>
-
-    <complexType name="AttributeIssuerEntityAttributeExactMatch">
-        <annotation>
-            <documentation>
-                A match function that checks if the attribute issuer contains an entity attribute with the
-                specified value.
-                
-                Not supported in V3. 
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:EntityAttributeExactMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="EntityAttributeExactMatch">
-        <annotation>
-            <documentation>
-                A match function that checks if the attribute requester contains an entity attribute with the
-                specified value.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:EntityAttributeExactMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeRequesterEntityAttributeExactMatch">
-        <annotation>
-            <documentation>
-                A match function that checks if the attribute requester contains an entity attribute with the
-                specified value.
-                
-                Deprecated in favor of "EntityAttributeExactMatch".
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:EntityAttributeExactMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="EntityAttributeExactMatchType" abstract="true">
-        <complexContent>
-            <extension base="afp:MatchFunctorType">
-                <attribute name="attributeName" type="string" use="required">
-                    <annotation>
-                        <documentation>The name of the entity attribute to match.</documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="attributeNameFormat" type="string" use="optional">
-                    <annotation>
-                        <documentation>The name format of the entity attribute to match.</documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="attributeValue" type="string" use="required">
-                    <annotation>
-                        <documentation>The value of the entity attribute to match.</documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeIssuerEntityAttributeRegexMatch">
-        <annotation>
-            <documentation>
-                A match function that checks if the attribute issuer contains an entity attribute with a
-                value that matches the given regular expression.
-                
-                Not supported in V3.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:EntityAttributeRegexMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="EntityAttributeRegexMatch">
-        <annotation>
-            <documentation>
-                A match function that checks if the attribute requester contains an entity attribute with a
-                value that matches the given regular expression.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:EntityAttributeRegexMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeRequesterEntityAttributeRegexMatch">
-        <annotation>
-            <documentation>
-                A match function that checks if the attribute requester contains an entity attribute with a
-                value that matches the given regular expression.
-                
-                Deprecated in favor of "EntityAttributeRegexMatch".
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:EntityAttributeRegexMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="EntityAttributeRegexMatchType" abstract="true">
-        <complexContent>
-            <extension base="afp:MatchFunctorType">
-                <attribute name="attributeName" type="string" use="required">
-                    <annotation>
-                        <documentation>The name of the entity attribute to match.</documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="attributeNameFormat" type="string" use="optional">
-                    <annotation>
-                        <documentation>The name format of the entity attribute to match.</documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="attributeValueRegex" type="string" use="required">
-                    <annotation>
-                        <documentation>The regular expression that must match the value of the entity attribute to
-                            match.</documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeIssuerNameIDFormatExactMatch">
-        <annotation>
-            <documentation>
-                A match function that evaluates to true if the attribute issuer supports a specified
-                NameID format.
-                
-                Not supported in V3.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:NameIDFormatExactMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="NameIDFormatExactMatch">
-        <annotation>
-            <documentation>
-                A match function that evaluates to true if the attribute requester supports a specified
-                NameID format.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:NameIDFormatExactMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeRequesterNameIDFormatExactMatch">
-        <annotation>
-            <documentation>
-                A match function that evaluates to true if the attribute requester supports a specified
-                NameID format.
-                
-                Deprecated in favor of "NameIDFormatExactMatch".
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:NameIDFormatExactMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="NameIDFormatExactMatchType" abstract="true">
-        <complexContent>
-            <extension base="afp:MatchFunctorType">
-                <attribute name="nameIdFormat" type="string" use="required">
-                    <annotation>
-                        <documentation>The NameID format that needs to be supported by the entity.</documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeRequesterInEntityGroup">
-        <annotation>
-            <documentation>
-                A match function that evaluates to true if the attribute requester is found in metadata and
-                is a member of the given entity group.
-                
-                Deprecated in favor of "InEntityGroup".
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:EntityGroupMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="InEntityGroup">
-        <annotation>
-            <documentation>
-                A match function that evaluates to true if the attribute requester is found in metadata and
-                is a member of the given entity group.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:EntityGroupMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeIssuerInEntityGroup">
-        <annotation>
-            <documentation>
-                A match function that evaluates to true if the attribute issuer is found in metadata and is a
-                member of the given entity group.
-                
-                Not supported in V3.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:EntityGroupMatchType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="EntityGroupMatchType" abstract="true">
-        <complexContent>
-            <extension base="afp:MatchFunctorType">
-                <attribute name="groupID" type="string" use="required">
-                    <annotation>
-                        <documentation>The entity group ID that an entity must be in.</documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeScopeMatchesShibMDScope">
-        <annotation>
-            <documentation>
-                A match function that ensures that an attribute value's scope matches a scope given in
-                metadata for the entity or role.
-                
-                Not supported in V3.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="afp:MatchFunctorType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeValueMatchesShibMDScope">
-        <annotation>
-            <documentation>
-                A match function that ensures that an attribute's value matches a scope given in
-                metadata for the entity or role.
-                
-                Not supported in V3.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="afp:MatchFunctorType" />
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeIssuerRegistrationAuthority">
-        <annotation>
-            <documentation>
-                A match function that matches the attribute issuer's MDRPI content against a list of potential values.
-                
-                Not supported in V3.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:RegistrationAuthorityMatchType" />
-        </complexContent>
-    </complexType>
-
-    <complexType name="RegistrationAuthority">
-        <annotation>
-            <documentation>
-                A match function that matches the SP (requester) MDRPI against a list of potential values.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:RegistrationAuthorityMatchType" />
-        </complexContent>
-    </complexType>
-
-    <complexType name="RegistrationAuthorityMatchType" abstract="true">
-        <complexContent>
-            <extension base="afp:MatchFunctorType">
-                <attribute name="registrars" type="saml:anyURIListType" use="required">
-                    <annotation>
-                        <documentation>The string values to match.</documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="matchIfMetadataSilent" type="boolean">
-                    <annotation>
-                        <documentation>
-                            A boolean flag indicating whether a match should occur if the metadata does
-                            not contain an MDRPI statement (coded) default is false.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeInMetadataType" abstract="true">
-        <annotation>
-            <documentation>
-                Functions that evaluate to true if an attribute (or specific values) is specified by
-                supplied metadata.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="afp:MatchFunctorType">
-                <attribute name="attributeID" type="string">
-                    <annotation>
-                        <documentation>
-                            The ID of the attribute whose value should be matched. If no attribute ID is specified the
-                            ID of the containing attribute rule is assumed.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="onlyIfRequired" type="string">
-                    <annotation>
-                        <documentation>
-                            A boolean flag indicating whether attributes noted as optional should match.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="matchIfMetadataSilent" type="string">
-                    <annotation>
-                        <documentation>
-                            A boolean flag indicating whether a match should occur if (after mapping)
-                            the metadata does not contain and Attributes.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="AttributeInMetadata">
-        <annotation>
-            <documentation>
-                A match function that evaluates to true if an attribute (or specific values) is specified by
-                the requesting entity's AttributeConsumingService SP metadata.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:AttributeInMetadataType">
-                <attribute name="attributeName" type="string" use="optional">
-                    <annotation>
-                        <documentation>The name of a requested attribute to look for.</documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="attributeNameFormat" type="string" use="optional">
-                    <annotation>
-                        <documentation>The name format of a requested attribute to look for.</documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="MappedAttributeInMetadata">
-        <annotation>
-            <documentation>
-                A match function that evaluates to true if a mapped attribute (or specific values) is specified by
-                the requesting entity's AttributeConsumingService SP metadata.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="saml:AttributeInMetadataType" />
-        </complexContent>
-    </complexType>
-
-    <simpleType name="anyURIListType">
-        <list itemType="string"/>
-    </simpleType>
-    
-</schema>

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


More information about the commits mailing list