xsl-list
[Top] [All Lists]

RE: [xsl] Re: Writing xslt from DSML

2010-04-21 05:45:47

Looks like the mailer has inserted "3D" before all the "=" signs.

XSLT stylesheets have to be well-formed XML before you can get anywhere. I
suggest you use an XML editor that will help you resolve such problems.
You'll certainly have to get used to the fact that when you make typing
mistakes in XSLT, you will get XML parsing errors.

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay  

-----Original Message-----
From: vinu shankar [mailto:vinuav_13(_at_)yahoo(_dot_)co(_dot_)in] 
Sent: 21 April 2010 11:17
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Re: Writing xslt from DSML

Hi Micheal,

Thank you very much for that reply.
I did not understand why you mentioned as two template rules.
I tried to Transform it using the Saxonica XSLT processor.
I am faced with the following error

Error on line 4 column 21 of pplStylesheet.xml:
  SXXP0003: Error reported by XML parser: Open quote is 
expected for 
attribute "
{1}"
  associated with an  element type
"match".
Failed to compile stylesheet. 1 error detected.


 The pplStylesheet.xml is the stylesheet you had given me.

One more thing is I have to process an DSML file with multiple 
entries.
What I had posted in my earlier post was just a single entry.
How do I process the multiple entry?
The DSML file format is as follows
<?xml version="1.0" encoding="UTF-8"?> <batchResponse 
xmlns:xsd="http://www.w3c.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3c.org/2001/XMLSchema-instance";>
   <searchResponse>
      <searchResultEntry
dn="uid=282002558871883,ou=People,o=sct.com,o=cp">
         <attr
name="uid">
           
<value>282002558871883</value>
         </attr>
         <attr
name="pdsloginid">
           
<value>fac60006</value>
         </attr>
         <attr
name="givenname">
           
<value>Brutus</value>
         </attr>
         <attr
name="pdsemaildefaultaddress">
            <value>fac60006(_at_)sct(_dot_)com</value>
         </attr>
         <attr
name="pdscpsurveyed">
           
<value>true</value>
         </attr>
    </searchResultEntry>
      <searchResultDone>
         <resultCode
code="0" descr="success"/>
      </searchResultDone>
   </searchResponse>
</batchResponse>
 <searchResultEntry
dn="uid=123456789,ou=People,o=sct.com,o=cp">
         <attr
name="uid">
           
<value>123456789</value>
         </attr>
         <attr
name="pdsloginid">
           
<value>fac60007</value>
         </attr>
         <attr
name="givenname">
           
<value>Brutusad</value>
         </attr>
         <attr
name="pdsemaildefaultaddress">
            <value>fac60007(_at_)sct(_dot_)com</value>
         </attr>
         <attr
name="pdscpsurveyed">
           
<value>true</value>
         </attr>
    </searchResultEntry>
      <searchResultDone>
         <resultCode
code="0" descr="success"/>
      </searchResultDone>
   </searchResponse>
</batchResponse>




Date: Tue, 20 Apr 2010 15:36:40 +0100
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
From: "Michael Kay" <mike(_at_)saxonica(_dot_)com>
Subject: RE: [xsl] Writing xslt from DSML
Message-ID:
<2D33B2DBC80C4A808427B9E292871994(_at_)Sealion>

Looks like two template rules:

<xsl:template match=3D"batchResponse">
  <xsl:copy>
    <xsl:apply-templates
select=3D".//attr">
  </xsl:copy>
</xsl:template>

<xsl:template match=3D"attr">
  <xsl:element name=3D"{(_at_)name}">
    <xsl:value-of select=3D"value"/>
  </xsl:element>
</xsl:template>

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay=2

--- On Tue, 20/4/10, vinu shankar <vinuav_13(_at_)yahoo(_dot_)co(_dot_)in>
wrote:

From: vinu shankar <vinuav_13(_at_)yahoo(_dot_)co(_dot_)in>
Subject: Writing xslt from DSML
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Date: Tuesday, 20 April, 2010, 6:50 PM Hi,

I am using XSLT 2.0.
I have to form write the XSLT for the DSML content 
extracted from a 
LDAP server.
I am trying to generate an XML fragment from
multivalued
LDAP attributes. data(in DSML form) looks like

<batchResponse xmlns:xsd="http://www.w3c.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3c.org/2001/XMLSchema-instance";>
   <searchResponse>
      <searchResultEntry
dn="uid=282002558871883,ou=People,o=sct.com,o=cp">
         <attr name="uid">
           
<value>282002558871883</value>
         </attr>
         <attr name="pdsloginid">
           
<value>fac60006</value>
         </attr>
         <attr name="givenname">
           
<value>Brutus</value>
         </attr>
         <attr
name="pdsemaildefaultaddress">
            <value>fac60006(_at_)sct(_dot_)com</value>
         </attr>
         <attr name="pdscpsurveyed">
           
<value>true</value>
         </attr>
</searchResponse>
</batchResponse >

I need the XML file from the above DSML file.
The XML file which I need is
<batchResponse xmlns:xsd="http://www.w3c.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3c.org/2001/XMLSchema-instance";>
    <uid>
   
      282002558871883
    </uid>
    <pdsloginid>
        fac60006
    </pdsloginid>
    <givenname>
        Brutus
    </givenname>
    <pdsemaildefaultaddress>
        fac60006(_at_)sct(_dot_)com
    </pdsemaildefaultaddress>
    <pdscpsurveyed>
        true
    </pdscpsurveyed>
</batchResponse >
So how can I achieve this using XSLT.
I am a newbee to XSLT.Please help

Thank you,
Evergreen














--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>