<!-- Swedish eID Framework, personalIdentityNumber. This attribute SHALL only contain Swedish person numbers -->
<AttributeDefinition xsi:type="ScriptedAttribute" id="personalIdentityNumber">
<InputAttributeDefinition attributeNamesref="norEduPersonNIN" />
<Script>
<![CDATA[
// Script to take a person number and filter out interim numbers (containing letters)
nin=norEduPersonNIN.getValues().get(0)
if (nin.matches("^(18|19|20)?[0-9]{2}((0[0-9])|(10|11|12))((([0-2][0-9])|(3[0-1]))|((6[1-9])|([7-8][0-9])|(9[0-1])))[0-9]{4}$")) {
personalIdentityNumber.getValues().add(nin)
}
]]>
</Script>
<AttributeEncoder xsi:type="SAML1String" name="urn:mace:dir:attribute-def:personalIdentityNumber" encodeType="false" />
<AttributeEncoder xsi:type="SAML2String" name="urn:oid:1.2.752.29.4.13" friendlyName="personalIdentityNumber" encodeType="false" />
</AttributeDefinition> |