|
Subject: [xsl] XSLT to populate a SAML AttributeStatement from an XML From: "ohaya ohaya@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 18 Jan 2023 17:05:56 -0000 |
[I originally sent this to the wrong email address... sorry!]
Hi,
I have an application where I am retrieving a number of attributes and values
from a web service, in the form of an XML file, and I want to create and
populate a SAML AttributeStatement from the attributes and values in that XML
file. A couple of complications (to me):
- The attribute names in the XML file are different than the corresponding
attributes in the SAML AttributeStatement.
- Some of the attributes are multi-valued: in the source XML file, the values
are a colon-separated string (e.g. ab:cd:ef), but in the AttributeStatement,
each value will be in separate <saml:Attribute> element.B
Here's an example source XML:
<record>
.
.
.
<adrRecord>
<PN_ID>1111111</PN_ID>
<personnel>
<ADM_ORG_CD>urn:NORM:DEPT</ADM_ORG_CD>
<DOD_ASSOC_CD>urn:NORM:V01</DOD_ASSOC_CD>
</personnel>
</adrRecord>
</record>
and the AttributeStatement I want to transform the above to is something
like:
<saml:Attribute Name="MY_PN_ID"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
<saml:AttributeValue xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsi:type="xsd:string">1111111</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="MY_ORG_CD"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
<saml:AttributeValue xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsi:type="xsd:string">DEPT</saml:AttributeValue>
<saml:AttributeValue xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsi:type="xsd:string">urn</saml:AttributeValue>
<saml:AttributeValue xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsi:type="xsd:string">NORM</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="MY_ASSOC_CD"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
<saml:AttributeValue xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsi:type="xsd:string">urn</saml:AttributeValue>
<saml:AttributeValue xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsi:type="xsd:string">NORM</saml:AttributeValue>
<saml:AttributeValue xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsi:type="xsd:string">V01</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
Can someone suggest the best approach to do this? I actually would prefer to
have a series of transforms to do this, rather than just a single XSLT, mainly
so I can be able to see how things are working (or not working).
Thanks,
Jim
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] XPath expression that ret, C. M. Sperberg-McQue | Thread | Re: [xsl] XSLT to populate a SAML A, Michael Kay michaelk |
| Re: [xsl] XPath expression that ret, C. M. Sperberg-McQue | Date | Re: [xsl] XSLT to populate a SAML A, Michael Kay michaelk |
| Month |