|
Subject: Re: New XSLT NOT WORKING was Re: [xsl] XSLT to populate a SAML AttributeStatement from an XML From: "ohaya ohaya@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sun, 22 Jan 2023 12:04:12 -0000 |
Michael et al,
Thanks! You all have been super patient with all my questions!
Jim
On Sunday, January 22, 2023, 05:55:43 AM EST, Michael Kay
mike@xxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
I tend to prefer writing this as
match="*[not(child::*)]"
because I think it's clearer to readers who aren't expert.
Michael KaySaxonica
On 22 Jan 2023, at 07:28, Martin Honnen martin.honnen@xxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
Yes, kind of, it matches any element node not having element node children.
--
Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.Am
22.01.23, 08:19 schrieb "ohaya ohaya@xxxxxxxxx"
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>:
Hi,
I was wondering if someone could explain what:
<xsl:template match="*[not(*)]">
does?
Is that not(*) checking for non-empty nodes?
Thanks,
Jim
On Saturday, January 21, 2023, 05:00:18 AM EST, Martin Honnen
martin.honnen@xxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
Am 1/21/2023 um 10:02 AM schrieb ohaya ohaya@xxxxxxxxx:
> Hi,
>
> I was wondering, is it possible to add a condition to this:
>
> <xsl:template match="/record/adrRecord/*">
>
> for only if the node has no value?
>
> If it is possible, how to do that, and also do you all think this
> would fix the problem that is happening?
I am wondering if the input sample
<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>
<enterpriseUser>
<entUserRoles>a:b:c</entUserRoles>
</enterpriseUser>
</adrRecord>
</record>
transformed by e.g.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
B version="2.0"
B xmlns:xs="http://www.w3.org/2001/XMLSchema"
B xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
B xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
B exclude-result-prefixes="xs">
B <xsl:output indent="yes"/>
B <xsl:template match="*">
B B B <xsl:apply-templates/>
B </xsl:template>
B <xsl:template match="text()"/>
B <xsl:template match="/">
B B B <saml:AttributeStatement>
B B B B B <xsl:apply-templates/>
B B B </saml:AttributeStatement>
B </xsl:template>
B <xsl:template match="*[not(*)]">
B B B <saml:Attribute Name="{name()}"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
B B B B B <xsl:for-each select="tokenize(.,':')">
B B B B B B B <saml:AttributeValue
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">
B B B B B B B B B <xsl:value-of select="."/>
B B B B B B B </saml:AttributeValue>
B B B B B </xsl:for-each>
B B B </saml:Attribute>
B </xsl:template>
</xsl:stylesheet>
into e.g.
<saml:AttributeStatement
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
B B <saml:Attribute Name="PN_ID"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
B B B B B <saml:AttributeValue
xsi:type="xsd:string">1111111</saml:AttributeValue>
B B </saml:Attribute>
B B <saml:Attribute Name="ADM_ORG_CD"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
B B B B B <saml:AttributeValue
xsi:type="xsd:string">urn</saml:AttributeValue>
B B B B B <saml:AttributeValue
xsi:type="xsd:string">NORM</saml:AttributeValue>
B B B B B <saml:AttributeValue
xsi:type="xsd:string">DEPT</saml:AttributeValue>
B B </saml:Attribute>
B B <saml:Attribute Name="DOD_ASSOC_CD"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
B B B B B <saml:AttributeValue
xsi:type="xsd:string">urn</saml:AttributeValue>
B B B B B <saml:AttributeValue
xsi:type="xsd:string">NORM</saml:AttributeValue>
B B B B B <saml:AttributeValue
xsi:type="xsd:string">V01</saml:AttributeValue>
B B </saml:Attribute>
B B <saml:Attribute Name="entUserRoles"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
B B B B B <saml:AttributeValue xsi:type="xsd:string">a</saml:AttributeValue>
B B B B B <saml:AttributeValue xsi:type="xsd:string">b</saml:AttributeValue>
B B B B B <saml:AttributeValue xsi:type="xsd:string">c</saml:AttributeValue>
B B </saml:Attribute>
</saml:AttributeStatement>
is perhaps all you want to output?
But with so many posts I have lost track of what the input is and what
the wanted output is.
XSL-List info and archiveEasyUnsubscribe (by email)
XSL-List info and archiveEasyUnsubscribe (by email)
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: New XSLT NOT WORKING was Re: [x, Michael Kay mike@xxx | Thread | Re: New XSLT NOT WORKING was Re: [x, BR Chrisman brchrism |
| Re: New XSLT NOT WORKING was Re: [x, Michael Kay mike@xxx | Date | Re: New XSLT NOT WORKING was Re: [x, Eliot Kimber eliot.k |
| Month |