[java-metadata-aggregator] 03/03: MDA-109 add stage to trim whitespace from elements

Ian Young ian at iay.org.uk
Tue Dec 1 09:15:00 EST 2015


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

iay pushed a commit to branch master
in repository java-metadata-aggregator.

commit 138738dfaf29396e1dab2701166a9760cecb84da
Author: Ian Young <ian at iay.org.uk>
AuthorDate: Tue Dec 1 15:14:51 2015 +0100

    MDA-109 add stage to trim whitespace from elements
    
    Import ElementWhitespaceTrimmingStage from ukf-mda project.
---
 .../dom/ElementWhitespaceTrimmingStage.java        | 38 +++++++++++
 .../dom/ElementWhitespaceTrimmingStageTest.java    | 75 ++++++++++++++++++++++
 .../dom/ElementWhitespaceTrimmingStage-1-in.xml    | 53 +++++++++++++++
 .../dom/ElementWhitespaceTrimmingStage-1-out.xml   | 49 ++++++++++++++
 .../dom/ElementWhitespaceTrimmingStage-2-in.xml    | 53 +++++++++++++++
 .../dom/ElementWhitespaceTrimmingStage-2-out.xml   | 51 +++++++++++++++
 6 files changed, 319 insertions(+)

diff --git a/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage.java b/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage.java
new file mode 100644
index 0000000..7421af9
--- /dev/null
+++ b/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage.java
@@ -0,0 +1,38 @@
+/*
+ * 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.metadata.dom;
+
+import javax.annotation.Nonnull;
+
+import org.w3c.dom.Element;
+
+/**
+ * Stage to trim leading and trailing whitespace from the text content of named elements
+ * within a {@link net.shibboleth.metadata.dom.DOMElementItem}.
+ */
+public class ElementWhitespaceTrimmingStage extends AbstractElementVisitingStage {
+
+    /** Visitor to apply to each visited element. */
+    @Nonnull private final ElementVisitor visitor = new WhitespaceTrimmingVisitor();
+
+    @Override
+    protected void visit(@Nonnull final Element e, @Nonnull final TraversalContext context) {
+        visitor.visitElement(e, context.getItem());
+    }
+
+}
diff --git a/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStageTest.java b/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStageTest.java
new file mode 100644
index 0000000..72558a9
--- /dev/null
+++ b/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStageTest.java
@@ -0,0 +1,75 @@
+
+package net.shibboleth.metadata.dom;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+
+import org.testng.annotations.Test;
+import org.w3c.dom.Element;
+
+import net.shibboleth.metadata.Item;
+import net.shibboleth.metadata.dom.saml.SAMLMetadataSupport;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.xml.XMLParserException;
+
+public class ElementWhitespaceTrimmingStageTest extends BaseDOMTest {
+    
+    /** Constructor sets class under test. */
+    public ElementWhitespaceTrimmingStageTest() {
+        super(ElementWhitespaceTrimmingStage.class);
+    }
+    
+    private ElementWhitespaceTrimmingStage makeStage() throws ComponentInitializationException {
+        final ElementWhitespaceTrimmingStage stage = new ElementWhitespaceTrimmingStage();
+        stage.setId("test");
+        return stage; 
+    }
+    
+    private DOMElementItem makeItem(final String which) throws XMLParserException {
+        final Element doc = readXMLData(classRelativeResource(which));
+        return new DOMElementItem(doc);
+    }
+    
+    @Test
+    public void simpleTest() throws Exception {
+        final DOMElementItem item = makeItem("1-in.xml");
+        final Element expected = readXMLData(classRelativeResource("1-out.xml"));
+        
+        final List<Item<Element>> items = new ArrayList<>();
+        items.add(item);
+        
+        final Set<QName> names = new HashSet<>();
+        names.add(new QName("urn:oasis:names:tc:SAML:metadata:ui", "DisplayName"));
+        names.add(new QName(SAMLMetadataSupport.MD_NS, "NameIDFormat"));
+                
+        final ElementWhitespaceTrimmingStage stage = makeStage();
+        stage.setElementNames(names);
+        stage.initialize();
+        
+        stage.execute(items);
+        
+        assertXMLIdentical(expected, item.unwrap());
+    }
+    
+    @Test
+    public void testSingleton() throws Exception {
+        final DOMElementItem item = makeItem("2-in.xml");
+        final Element expected = readXMLData(classRelativeResource("2-out.xml"));
+        
+        final List<Item<Element>> items = new ArrayList<>();
+        items.add(item);
+                        
+        final ElementWhitespaceTrimmingStage stage = makeStage();
+        stage.setElementName(new QName(SAMLMetadataSupport.MD_NS, "NameIDFormat"));
+        stage.initialize();
+        
+        stage.execute(items);
+        
+        assertXMLIdentical(expected, item.unwrap());
+    }
+    
+}
diff --git a/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage-1-in.xml b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage-1-in.xml
new file mode 100644
index 0000000..badffae
--- /dev/null
+++ b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage-1-in.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<md:EntityDescriptor ID="uk123456" entityID="https://idp5.example.org/idp/shibboleth"
+    xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+    xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
+    xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <IDPSSODescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
+        protocolSupportEnumeration="urn:mace:shibboleth:1.0 urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+        <Extensions>
+            <mdui:UIInfo xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui">
+                <!-- expect the following to be cleaned up -->
+                <mdui:DisplayName xml:lang="en">
+                    Example Organization
+                </mdui:DisplayName>
+            </mdui:UIInfo>
+        </Extensions>
+        <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding"
+            Location="https://idp5.example.org:8443/idp/profile/SAML1/SOAP/ArtifactResolution"
+            index="1"/>
+        <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+            Location="https://idp5.example.org:8443/idp/profile/SAML2/SOAP/ArtifactResolution"
+            index="2"/>
+        <!-- the following two elements should be trimmed -->
+        <NameIDFormat>    urn:mace:shibboleth:1.0:nameIdentifier    	   </NameIDFormat>
+        <NameIDFormat>
+            urn:oasis:names:tc:SAML:2.0:nameid-format:transient
+        </NameIDFormat>
+        <SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest"
+            Location="https://idp5.example.org/idp/profile/Shibboleth/SSO"/>
+        <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+            Location="https://idp5.example.org/idp/profile/SAML2/POST/SSO"/>
+        <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign"
+            Location="https://idp5.example.org/idp/profile/SAML2/POST-SimpleSign/SSO"/>
+        <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
+            Location="https://idp5.example.org/idp/profile/SAML2/Redirect/SSO"/>
+    </IDPSSODescriptor>
+    <AttributeAuthorityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
+        protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+        <AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding"
+            Location="https://idp5.example.org:8443/idp/profile/SAML1/SOAP/AttributeQuery"/>
+        <AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+            Location="https://idp5.example.org:8443/idp/profile/SAML2/SOAP/AttributeQuery"/>
+        <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+        <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+    </AttributeAuthorityDescriptor>
+    <Organization xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
+        <!-- the following is NOT to be trimmed in this test -->
+        <OrganizationName xml:lang="en">    STUDENTS    </OrganizationName>
+        <OrganizationDisplayName xml:lang="sv">Second Organization</OrganizationDisplayName>
+        <OrganizationDisplayName xml:lang="en">Second Organization</OrganizationDisplayName>
+        <OrganizationURL xml:lang="en">http://www.bth.se</OrganizationURL>
+    </Organization>
+</md:EntityDescriptor>
diff --git a/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage-1-out.xml b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage-1-out.xml
new file mode 100644
index 0000000..80d7541
--- /dev/null
+++ b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage-1-out.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<md:EntityDescriptor ID="uk123456" entityID="https://idp5.example.org/idp/shibboleth"
+    xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+    xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
+    xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <IDPSSODescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
+        protocolSupportEnumeration="urn:mace:shibboleth:1.0 urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+        <Extensions>
+            <mdui:UIInfo xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui">
+                <!-- expect the following to be cleaned up -->
+                <mdui:DisplayName xml:lang="en">Example Organization</mdui:DisplayName>
+            </mdui:UIInfo>
+        </Extensions>
+        <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding"
+            Location="https://idp5.example.org:8443/idp/profile/SAML1/SOAP/ArtifactResolution"
+            index="1"/>
+        <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+            Location="https://idp5.example.org:8443/idp/profile/SAML2/SOAP/ArtifactResolution"
+            index="2"/>
+        <!-- the following two elements should be trimmed -->
+        <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+        <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+        <SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest"
+            Location="https://idp5.example.org/idp/profile/Shibboleth/SSO"/>
+        <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+            Location="https://idp5.example.org/idp/profile/SAML2/POST/SSO"/>
+        <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign"
+            Location="https://idp5.example.org/idp/profile/SAML2/POST-SimpleSign/SSO"/>
+        <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
+            Location="https://idp5.example.org/idp/profile/SAML2/Redirect/SSO"/>
+    </IDPSSODescriptor>
+    <AttributeAuthorityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
+        protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+        <AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding"
+            Location="https://idp5.example.org:8443/idp/profile/SAML1/SOAP/AttributeQuery"/>
+        <AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+            Location="https://idp5.example.org:8443/idp/profile/SAML2/SOAP/AttributeQuery"/>
+        <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+        <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+    </AttributeAuthorityDescriptor>
+    <Organization xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
+        <!-- the following is NOT to be trimmed in this test -->
+        <OrganizationName xml:lang="en">    STUDENTS    </OrganizationName>
+        <OrganizationDisplayName xml:lang="sv">Second Organization</OrganizationDisplayName>
+        <OrganizationDisplayName xml:lang="en">Second Organization</OrganizationDisplayName>
+        <OrganizationURL xml:lang="en">http://www.bth.se</OrganizationURL>
+    </Organization>
+</md:EntityDescriptor>
diff --git a/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage-2-in.xml b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage-2-in.xml
new file mode 100644
index 0000000..57c1960
--- /dev/null
+++ b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage-2-in.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<md:EntityDescriptor ID="uk123456" entityID="https://idp5.example.org/idp/shibboleth"
+    xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+    xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
+    xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <IDPSSODescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
+        protocolSupportEnumeration="urn:mace:shibboleth:1.0 urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+        <Extensions>
+            <mdui:UIInfo xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui">
+                <!-- do NOT expect the following to be cleaned up -->
+                <mdui:DisplayName xml:lang="en">
+                    Example Organization
+                </mdui:DisplayName>
+            </mdui:UIInfo>
+        </Extensions>
+        <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding"
+            Location="https://idp5.example.org:8443/idp/profile/SAML1/SOAP/ArtifactResolution"
+            index="1"/>
+        <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+            Location="https://idp5.example.org:8443/idp/profile/SAML2/SOAP/ArtifactResolution"
+            index="2"/>
+        <!-- the following two elements should be trimmed -->
+        <NameIDFormat>    urn:mace:shibboleth:1.0:nameIdentifier    	   </NameIDFormat>
+        <NameIDFormat>
+            urn:oasis:names:tc:SAML:2.0:nameid-format:transient
+        </NameIDFormat>
+        <SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest"
+            Location="https://idp5.example.org/idp/profile/Shibboleth/SSO"/>
+        <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+            Location="https://idp5.example.org/idp/profile/SAML2/POST/SSO"/>
+        <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign"
+            Location="https://idp5.example.org/idp/profile/SAML2/POST-SimpleSign/SSO"/>
+        <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
+            Location="https://idp5.example.org/idp/profile/SAML2/Redirect/SSO"/>
+    </IDPSSODescriptor>
+    <AttributeAuthorityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
+        protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+        <AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding"
+            Location="https://idp5.example.org:8443/idp/profile/SAML1/SOAP/AttributeQuery"/>
+        <AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+            Location="https://idp5.example.org:8443/idp/profile/SAML2/SOAP/AttributeQuery"/>
+        <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+        <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+    </AttributeAuthorityDescriptor>
+    <Organization xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
+        <!-- the following is NOT to be trimmed in this test -->
+        <OrganizationName xml:lang="en">    STUDENTS    </OrganizationName>
+        <OrganizationDisplayName xml:lang="sv">Second Organization</OrganizationDisplayName>
+        <OrganizationDisplayName xml:lang="en">Second Organization</OrganizationDisplayName>
+        <OrganizationURL xml:lang="en">http://www.bth.se</OrganizationURL>
+    </Organization>
+</md:EntityDescriptor>
diff --git a/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage-2-out.xml b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage-2-out.xml
new file mode 100644
index 0000000..6e655f1
--- /dev/null
+++ b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStage-2-out.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<md:EntityDescriptor ID="uk123456" entityID="https://idp5.example.org/idp/shibboleth"
+    xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+    xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
+    xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <IDPSSODescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
+        protocolSupportEnumeration="urn:mace:shibboleth:1.0 urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+        <Extensions>
+            <mdui:UIInfo xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui">
+                <!-- do NOT expect the following to be cleaned up -->
+                <mdui:DisplayName xml:lang="en">
+                    Example Organization
+                </mdui:DisplayName>
+            </mdui:UIInfo>
+        </Extensions>
+        <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding"
+            Location="https://idp5.example.org:8443/idp/profile/SAML1/SOAP/ArtifactResolution"
+            index="1"/>
+        <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+            Location="https://idp5.example.org:8443/idp/profile/SAML2/SOAP/ArtifactResolution"
+            index="2"/>
+        <!-- the following two elements should be trimmed -->
+        <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+        <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+        <SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest"
+            Location="https://idp5.example.org/idp/profile/Shibboleth/SSO"/>
+        <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+            Location="https://idp5.example.org/idp/profile/SAML2/POST/SSO"/>
+        <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign"
+            Location="https://idp5.example.org/idp/profile/SAML2/POST-SimpleSign/SSO"/>
+        <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
+            Location="https://idp5.example.org/idp/profile/SAML2/Redirect/SSO"/>
+    </IDPSSODescriptor>
+    <AttributeAuthorityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
+        protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+        <AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding"
+            Location="https://idp5.example.org:8443/idp/profile/SAML1/SOAP/AttributeQuery"/>
+        <AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+            Location="https://idp5.example.org:8443/idp/profile/SAML2/SOAP/AttributeQuery"/>
+        <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+        <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+    </AttributeAuthorityDescriptor>
+    <Organization xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
+        <!-- the following is NOT to be trimmed in this test -->
+        <OrganizationName xml:lang="en">    STUDENTS    </OrganizationName>
+        <OrganizationDisplayName xml:lang="sv">Second Organization</OrganizationDisplayName>
+        <OrganizationDisplayName xml:lang="en">Second Organization</OrganizationDisplayName>
+        <OrganizationURL xml:lang="en">http://www.bth.se</OrganizationURL>
+    </Organization>
+</md:EntityDescriptor>

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


More information about the commits mailing list