Ticket #10 (new enhancement)

Opened 8 months ago

Last modified 8 months ago

support for custom attributes and content in AttributeValue

Reported by: fpeters Assigned to: bdauvergne
Priority: major Milestone: later
Component: lasso Version:
Severity: spec nonconformance Keywords:
Cc:

Description

in xml/saml-2.0/saml2_attribute_value.c, the structure is defined with:

        { "", SNIPPET_LIST_NODES | SNIPPET_ALLOW_TEXT,
                G_STRUCT_OFFSET(LassoSaml2AttributeValue, any) },

although the xsd tells:

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

And there is now a request to be able to have sth like:

<saml:AttributeValue xsi:type="xs:string" x500:Encoding="LDAP">
  Steven
</saml:AttributeValue>

(http://lists.labs.libre-entreprise.org/pipermail/lasso-devel/2008-March/002087.html)

Attachments

Change History

28.03.2008 12:25:04 changed by bdauvergne

I read the specification about anyType the only solution would be to store the xmlNode and nothing else and to work with it, because there can be anything inside. To enforce that the generated node must be an AttributeValue with any attributes and any contents we could still keep the "GList *any;" for the contents and add a "GHashTable *attributes" for the attributes. There is still the problem that if you use "x500:encoding" as key in this hashtable it should be in adequation with a "ns:x500" declaration somewhere in the generated XML later.

I think the "xmlNode *any;" way is better libxml should take care of putting namespace declaration where they are needed, we juste have to forbid any to be anything but a <AttributeValue/>.


Add/Change #10 (support for custom attributes and content in AttributeValue)




Change Properties
Action