﻿<?xml version="1.0" encoding="UTF-8" ?>
<schema xmlns="http://purl.oclc.org/dsdl/schematron"
    xmlns:mssml="http://schemas.microsoft.com/sml/extensions/2007/03"
    xmlns:mssmlbpa="http://schemas.microsoft.com/sml/bpa/2008/02">

    <ns prefix="tns" uri="http://schemas.microsoft.com/mbca/models/NPAS/2009/11" />
    <ns prefix="mssmltrans" uri="http://schemas.microsoft.com/sml/functions/transform/2007/03" />

  <pattern>
    <rule context="tns:NPAS/tns:NPSSERVER/tns:NpsServiceStatus">
      <assert
        mssmlbpa:helpID="NpsServiceStatus"
        mssml:severity="error"
        mssml:category="mssmlbpa:prerequisite mssmlbpa:markupv2"
        test=".= 'true'">

        <mssmlbpa:title mssml:locid="NpsServiceStatus_Title"/>
        <mssmlbpa:problem mssml:locid="NpsServiceStatus_Problem"/>
        <mssmlbpa:impact mssml:locid="NpsServiceStatus_Impact"/>
        <mssmlbpa:resolution mssml:locid="NpsServiceStatus_Resolution"/>
        <mssmlbpa:helpTopic>http://go.microsoft.com/fwlink/?LinkId=155347</mssmlbpa:helpTopic>
      </assert>
      <report
          mssmlbpa:helpID="NpsServiceStatus"
          mssml:severity="info"
          mssml:category="mssmlbpa:prerequisite mssmlbpa:markupv2"
          test=".= 'true'">

        <mssmlbpa:title mssml:locid="NpsServiceStatus_Title"/>
        <mssmlbpa:compliant mssml:locid="NpsServiceStatus_Compliant"/>
      </report>
    </rule>
  </pattern>

  <pattern>
    <rule context="tns:NPAS/tns:NPSSERVER/tns:NpsCrpEnabled">
      <assert
        mssmlbpa:helpID="NpsCrpEnabled"
        mssml:severity="error"
        mssml:category="mssmlbpa:configuration mssmlbpa:markupv2"
        test=".= 'true'">

        <mssmlbpa:title mssml:locid="NpsCrpEnabled_Title"/>
        <mssmlbpa:problem mssml:locid="NpsCrpEnabled_Problem"/>
        <mssmlbpa:impact mssml:locid="NpsCrpEnabled_Impact"/>
        <mssmlbpa:resolution mssml:locid="NpsCrpEnabled_Resolution"/>
        <mssmlbpa:helpTopic>http://go.microsoft.com/fwlink/?LinkId=155350</mssmlbpa:helpTopic>
      </assert>
      <report
          mssmlbpa:helpID="NpsCrpEnabled"
          mssml:severity="info"
          mssml:category="mssmlbpa:configuration mssmlbpa:markupv2"
          test=".= 'true'">

        <mssmlbpa:title mssml:locid="NpsCrpEnabled_Title"/>
        <mssmlbpa:compliant mssml:locid="NpsCrpEnabled_Compliant"/>
      </report>
    </rule>
  </pattern>

  <pattern>
    <rule context="tns:NPAS/tns:NPSSERVER/tns:NpsNetworkPolicyEnabled">
      <assert
        mssmlbpa:helpID="NpsNetworkPolicyEnabled"
        mssml:severity="error"
        mssml:category="mssmlbpa:configuration mssmlbpa:markupv2"
        test=".= 'true'">

        <mssmlbpa:title mssml:locid="NpsNetworkPolicyEnabled_Title"/>
        <mssmlbpa:problem mssml:locid="NpsNetworkPolicyEnabled_Problem"/>
        <mssmlbpa:impact mssml:locid="NpsNetworkPolicyEnabled_Impact"/>
        <mssmlbpa:resolution mssml:locid="NpsNetworkPolicyEnabled_Resolution"/>
        <mssmlbpa:helpTopic>http://go.microsoft.com/fwlink/?LinkId=155351</mssmlbpa:helpTopic>
      </assert>
      <report
          mssmlbpa:helpID="NpsNetworkPolicyEnabled"
          mssml:severity="info"
          mssml:category="mssmlbpa:configuration mssmlbpa:markupv2"
          test=".= 'true'">

        <mssmlbpa:title mssml:locid="NpsNetworkPolicyEnabled_Title"/>
        <mssmlbpa:compliant mssml:locid="NpsNetworkPolicyEnabled_Compliant"/>
      </report>
    </rule>
  </pattern>

  <pattern>
    <rule context="tns:NPAS/tns:NPSSERVER/tns:NpsAuthentication">
      <assert
        mssmlbpa:helpID="NpsAuthentication"
        mssml:severity="warning"
        mssml:category="mssmlbpa:configuration mssmlbpa:markupv2"
        test="tns:Supported = 'true'">

        <value-of select="tns:CRPPolicyNames" />
        <value-of select="tns:NPPolicyNames" />
        <mssmlbpa:title mssml:locid="NpsAuthentication_Title"/>
        <mssmlbpa:problem mssml:locid="NpsAuthentication_Problem"/>
        <mssmlbpa:impact mssml:locid="NpsAuthentication_Impact"/>
        <mssmlbpa:resolution mssml:locid="NpsAuthentication_Resolution"/>
        <mssmlbpa:helpTopic>http://go.microsoft.com/fwlink/?LinkId=155356</mssmlbpa:helpTopic>
      </assert>
      <report
          mssmlbpa:helpID="NpsAuthentication"
          mssml:severity="info"
          mssml:category="mssmlbpa:configuration mssmlbpa:markupv2"
          test="tns:Supported = 'true'">

        <mssmlbpa:title mssml:locid="NpsAuthentication_Title"/>
        <mssmlbpa:compliant mssml:locid="NpsAuthentication_Compliant"/>
      </report>
    </rule>
  </pattern>

  <pattern>
    <rule context="tns:NPAS/tns:NPSSERVER/tns:NasRunningLocally">
      <assert
        mssmlbpa:helpID="NasRunningLocally"
        mssml:severity="error"
        mssml:category="mssmlbpa:configuration mssmlbpa:markupv2"
        test=".= 'true'">

        <mssmlbpa:title mssml:locid="NasRunningLocally_Title"/>
        <mssmlbpa:problem mssml:locid="NasRunningLocally_Problem"/>
        <mssmlbpa:impact mssml:locid="NasRunningLocally_Impact"/>
        <mssmlbpa:resolution mssml:locid="NasRunningLocally_Resolution"/>
        <mssmlbpa:helpTopic>http://go.microsoft.com/fwlink/?LinkId=155348</mssmlbpa:helpTopic>
      </assert>
      <report
          mssmlbpa:helpID="NasRunningLocally"
          mssml:severity="info"
          mssml:category="mssmlbpa:configuration mssmlbpa:markupv2"
          test=".= 'true'">

        <mssmlbpa:title mssml:locid="NasRunningLocally_Title"/>
        <mssmlbpa:compliant mssml:locid="NasRunningLocally_Compliant"/>
      </report>
    </rule>
  </pattern>


  <pattern>
    <rule context="tns:NPAS/tns:HRASERVER/tns:AtleastOneCAConfigured">
      <assert
        mssmlbpa:helpID="AtleastOneCAConfigured"
        mssml:severity="error"
        mssml:category="mssmlbpa:configuration mssmlbpa:markupv2"
        test=".= 'true'">

        <mssmlbpa:title mssml:locid="AtleastOneCAConfigured_Title"/>
        <mssmlbpa:problem mssml:locid="AtleastOneCAConfigured_Problem"/>
        <mssmlbpa:impact mssml:locid="AtleastOneCAConfigured_Impact"/>
        <mssmlbpa:resolution mssml:locid="AtleastOneCAConfigured_Resolution"/>
        <mssmlbpa:helpTopic>http://go.microsoft.com/fwlink/?LinkId=155354</mssmlbpa:helpTopic>
      </assert>
      <report
          mssmlbpa:helpID="AtleastOneCAConfigured"
          mssml:severity="info"
          mssml:category="mssmlbpa:configuration mssmlbpa:markupv2"
          test=".= 'true'">

        <mssmlbpa:title mssml:locid="AtleastOneCAConfigured_Title"/>
        <mssmlbpa:compliant mssml:locid="AtleastOneCAConfigured_Compliant"/>
      </report>
    </rule>
  </pattern>

  <pattern>
    <rule context="tns:NPAS/tns:HRASERVER/tns:HraAcceptsHttpHttps">
      <report
        mssmlbpa:helpID="HraAcceptsHttpHttps"
        mssml:severity="error"
        mssml:category="mssmlbpa:prerequisite mssmlbpa:markupv2"
        test=".= 'error'">

        <mssmlbpa:title mssml:locid="HraAcceptsHttpHttps_Title"/>
        <mssmlbpa:problem mssml:locid="HraAcceptsHttpHttps_Problem_Error"/>
        <mssmlbpa:impact mssml:locid="HraAcceptsHttpHttps_Impact_Error"/>
        <mssmlbpa:resolution mssml:locid="HraAcceptsHttpHttps_Resolution"/>
        <mssmlbpa:helpTopic>http://go.microsoft.com/fwlink/?LinkId=155344</mssmlbpa:helpTopic>
      </report>
      <report
        mssmlbpa:helpID="HraAcceptsHttpHttps"
        mssml:severity="warning"
        mssml:category="mssmlbpa:prerequisite mssmlbpa:markupv2"
        test=".= 'warning'">

        <mssmlbpa:title mssml:locid="HraAcceptsHttpHttps_Title"/>
        <mssmlbpa:problem mssml:locid="HraAcceptsHttpHttps_Problem_Warning"/>
        <mssmlbpa:impact mssml:locid="HraAcceptsHttpHttps_Impact_Warning"/>
        <mssmlbpa:resolution mssml:locid="HraAcceptsHttpHttps_Resolution"/>
        <mssmlbpa:helpTopic>http://go.microsoft.com/fwlink/?LinkId=155343</mssmlbpa:helpTopic>
      </report>
      <report
          mssmlbpa:helpID="HraAcceptsHttpHttps"
          mssml:severity="info"
          mssml:category="mssmlbpa:prerequisite mssmlbpa:markupv2"
          test=".= 'ok'">

        <mssmlbpa:title mssml:locid="HraAcceptsHttpHttps_Title"/>
        <mssmlbpa:compliant mssml:locid="HraAcceptsHttpHttps_Compliant"/>
      </report>
    </rule>
  </pattern>

  <pattern>
    <rule context="tns:NPAS/tns:HRASERVER/tns:FirewallExemptionForHttpHttps">
      <report
        mssmlbpa:helpID="FirewallExemptionForHttpHttps"
        mssml:severity="error"
        mssml:category="mssmlbpa:prerequisite mssmlbpa:markupv2"
        test=".= 'error'">

        <mssmlbpa:title mssml:locid="FirewallExemptionForHttpHttps_Title"/>
        <mssmlbpa:problem mssml:locid="FirewallExemptionForHttpHttps_Problem_Error"/>
        <mssmlbpa:impact mssml:locid="FirewallExemptionForHttpHttps_Impact_Error"/>
        <mssmlbpa:resolution mssml:locid="FirewallExemptionForHttpHttps_Resolution"/>
        <mssmlbpa:helpTopic>http://go.microsoft.com/fwlink/?LinkId=155345</mssmlbpa:helpTopic>
      </report>
      <report
        mssmlbpa:helpID="FirewallExemptionForHttpHttps"
        mssml:severity="warning"
        mssml:category="mssmlbpa:prerequisite mssmlbpa:markupv2"
        test=".= 'warning'">

        <mssmlbpa:title mssml:locid="FirewallExemptionForHttpHttps_Title"/>
        <mssmlbpa:problem mssml:locid="FirewallExemptionForHttpHttps_Problem_Warning"/>
        <mssmlbpa:impact mssml:locid="FirewallExemptionForHttpHttps_Impact_Warning"/>
        <mssmlbpa:resolution mssml:locid="FirewallExemptionForHttpHttps_Resolution"/>
        <mssmlbpa:helpTopic>http://go.microsoft.com/fwlink/?LinkId=155346</mssmlbpa:helpTopic>
      </report>
      <report
        mssmlbpa:helpID="FirewallExemptionForHttpHttps"
        mssml:severity="info"
        mssml:category="mssmlbpa:prerequisite mssmlbpa:markupv2"
        test=".= 'ok'">

        <mssmlbpa:title mssml:locid="FirewallExemptionForHttpHttps_Title"/>
        <mssmlbpa:compliant mssml:locid="FirewallExemptionForHttpHttps_Compliant"/>
      </report>
    </rule>
  </pattern>

  <pattern>
    <rule context="tns:NPAS/tns:HRASERVER/tns:IISComponentsInstalled">
      <assert
        mssmlbpa:helpID="IISComponentsInstalled"
        mssml:severity="error"
        mssml:category="mssmlbpa:prerequisite mssmlbpa:markupv2"
        test=".= 'true'">

        <mssmlbpa:title mssml:locid="IISComponentsInstalled_Title"/>
        <mssmlbpa:problem mssml:locid="IISComponentsInstalled_Problem"/>
        <mssmlbpa:impact mssml:locid="IISComponentsInstalled_Impact"/>
        <mssmlbpa:resolution mssml:locid="IISComponentsInstalled_Resolution"/>
        <mssmlbpa:helpTopic>http://go.microsoft.com/fwlink/?LinkId=155353</mssmlbpa:helpTopic>
      </assert>
      <report
        mssmlbpa:helpID="IISComponentsInstalled"
        mssml:severity="info"
        mssml:category="mssmlbpa:prerequisite mssmlbpa:markupv2"
        test=".= 'true'">

        <mssmlbpa:title mssml:locid="IISComponentsInstalled_Title"/>
        <mssmlbpa:compliant mssml:locid="IISComponentsInstalled_Compliant"/>
      </report>
    </rule>
  </pattern>

  <pattern>
    <rule context="tns:NPAS/tns:HRASERVER/tns:CertificateLifeTime">
      <assert
        mssmlbpa:helpID="CertificateLifeTime"
        mssml:severity="error"
        mssml:category="mssmlbpa:security mssmlbpa:markupv2"
        test=".= 'true'">

        <mssmlbpa:title mssml:locid="CertificateLifeTime_Title"/>
        <mssmlbpa:problem mssml:locid="CertificateLifeTime_Problem"/>
        <mssmlbpa:impact mssml:locid="CertificateLifeTime_Impact"/>
        <mssmlbpa:resolution mssml:locid="CertificateLifeTime_Resolution"/>
        <mssmlbpa:helpTopic>http://go.microsoft.com/fwlink/?LinkId=155355</mssmlbpa:helpTopic>
      </assert>
      <report
          mssmlbpa:helpID="CertificateLifeTime"
          mssml:severity="info"
          mssml:category="mssmlbpa:security mssmlbpa:markupv2"
          test=".= 'true'">

        <mssmlbpa:title mssml:locid="CertificateLifeTime_Title"/>
        <mssmlbpa:compliant mssml:locid="CertificateLifeTime_Compliant"/>
      </report>
    </rule>
  </pattern>

</schema>
