2.7.3.1.1 元素<AttributeValue>

本博客采用知识共享署名 4.0 国际许可协议进行许可

<AttributeValue>元素中提供了某个SAML属性的值。它属于xs:anyType类型,任何格式良好的XML都可以作为该元素的内容。

如果<AttributeValue>元素中的数据内容是XML Schema简单类型(比如xs:integer或者xs:string),那么数据类型可以通过 <AttributeValue>元素中的xsi:type声明显式的声明。如果<AttributeValue>元素中的数据内容包含结构化的数据,那么就可能在扩展模式中定义必要的数据元素。

注意:在<AttributeValue>元素上使用xsi:type指定XML Schema简单类型以外的数据类型,需要定义这个数据类型的扩展schema存在,只有这样schema解析才能继续进行。

如果SAML属性包含空值,例如空字符串,那么相关的<AttributeValue>元素就必须为空(通常使用<AttributeValue/>来表示)。这覆盖了第1.3.1节中的要求,即SAML内容中的字符串值至少包含一个非空白字符。

如果SAML属性包含NULL值,那么相关的<AttributeValue>元素必须为空,并且必须包含值为true1的保留XML属性xsi:nil

译者(义臻)注:如下例子,有个xs:string类型的属性,该属性的值为NULL。

<saml:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" xsi:type="xs:string"/>

下列的schema片段定义了<AttributeValue>元素:

<element name="AttributeValue" type="anyType" nillable="true"/>

Last updated

Was this helpful?