+
+ XMLOBJECTVALIDATOR_SIMPLE(SAML_DLLLOCAL,SourceID);
+
+ BEGIN_XMLOBJECTVALIDATOR_SUB(SAML_DLLLOCAL,DiscoveryResponse,IndexedEndpointType);
+ IndexedEndpointTypeSchemaValidator::validate(xmlObject);
+ END_XMLOBJECTVALIDATOR;
+
+ BEGIN_XMLOBJECTVALIDATOR_SUB(SAML_DLLLOCAL,RequestInitiator,EndpointType);
+ EndpointTypeSchemaValidator::validate(xmlObject);
+ END_XMLOBJECTVALIDATOR;
+
+ BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,EntityAttributes);
+ if (!ptr->hasChildren())
+ throw ValidationException("EntityAttributes must contain at least one child element.");
+ END_XMLOBJECTVALIDATOR;
+
+ BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,DigestMethod);
+ XMLOBJECTVALIDATOR_REQUIRE(DigestMethod,Algorithm);
+ END_XMLOBJECTVALIDATOR;
+
+ BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,SigningMethod);
+ XMLOBJECTVALIDATOR_REQUIRE(SigningMethod,Algorithm);
+ END_XMLOBJECTVALIDATOR;
+
+ BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,DisplayName);
+ XMLOBJECTVALIDATOR_REQUIRE(DisplayName,TextContent);
+ XMLOBJECTVALIDATOR_REQUIRE(DisplayName,Lang);
+ END_XMLOBJECTVALIDATOR;
+
+ BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,Description);
+ XMLOBJECTVALIDATOR_REQUIRE(Description,TextContent);
+ XMLOBJECTVALIDATOR_REQUIRE(Description,Lang);
+ END_XMLOBJECTVALIDATOR;
+
+ BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,Keywords);
+ XMLOBJECTVALIDATOR_REQUIRE(Keywords,TextContent);
+ XMLOBJECTVALIDATOR_REQUIRE(Keywords,Lang);
+ END_XMLOBJECTVALIDATOR;
+
+ BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,Logo);
+ XMLOBJECTVALIDATOR_REQUIRE(Logo,TextContent);
+ XMLOBJECTVALIDATOR_REQUIRE_INTEGER(Logo,Height);
+ XMLOBJECTVALIDATOR_REQUIRE_INTEGER(Logo,Width);
+ END_XMLOBJECTVALIDATOR;
+
+ BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,InformationURL);
+ XMLOBJECTVALIDATOR_REQUIRE(InformationURL,TextContent);
+ XMLOBJECTVALIDATOR_REQUIRE(InformationURL,Lang);
+ END_XMLOBJECTVALIDATOR;
+
+ BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,PrivacyStatementURL);
+ XMLOBJECTVALIDATOR_REQUIRE(PrivacyStatementURL,TextContent);
+ XMLOBJECTVALIDATOR_REQUIRE(PrivacyStatementURL,Lang);
+ END_XMLOBJECTVALIDATOR;
+
+ XMLOBJECTVALIDATOR_SIMPLE(SAML_DLLLOCAL,IPHint);
+ XMLOBJECTVALIDATOR_SIMPLE(SAML_DLLLOCAL,DomainHint);
+ XMLOBJECTVALIDATOR_SIMPLE(SAML_DLLLOCAL,GeolocationHint);
+
+ BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,RegistrationInfo);
+ XMLOBJECTVALIDATOR_REQUIRE(RegistrationInfo,RegistrationAuthority);
+ END_XMLOBJECTVALIDATOR;
+
+ BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,PublicationInfo);
+ XMLOBJECTVALIDATOR_REQUIRE(PublicationInfo,Publisher);
+ END_XMLOBJECTVALIDATOR;
+
+ BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,Publication);
+ XMLOBJECTVALIDATOR_REQUIRE(Publication,Publisher);
+ END_XMLOBJECTVALIDATOR;
+
+ XMLOBJECTVALIDATOR_SIMPLE(SAML_DLLLOCAL,RegistrationPolicy);
+ XMLOBJECTVALIDATOR_SIMPLE(SAML_DLLLOCAL,UsagePolicy);