[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Re: [XSL-List: The Open Forum on XSL] Digest for

Subject: Re: Re: [XSL-List: The Open Forum on XSL] Digest for 2017-06-20
From: "Terry Badger terry_badger@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 29 Jun 2017 03:26:08 -0000
Re:  Re: [XSL-List: The Open Forum on XSL] Digest for
Think this is a key problem so try something like this.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheetxmlns:xsl="http://www.w3.org/1999/XSL/Transform"xmlns:xs="http
://www.w3.org/2001/XMLSchema"exclude-result-prefixes="xs"version="2.0">
<xsl:keyname="Document_Name__c"match="Data__c" use="Document_Name__c"/>
<xsl:output method="xml"indent="yes"/>
<xsl:param name="XMLMerge2"select="document('merge2.xml')"/>
<xsl:template match="objects">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="Alert__c">
<xsl:if test="key('Document_Name__c', Document_Name__c, $XMLMerge2)">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:template>
</xsl:stylesheet>


Terry Badger
badger-software.com


On Wednesday, June 28, 2017 5:07 AM, "Rahul Singh rahulsinghindia15@xxxxxxxxx"
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:



Thanks


On Wed, Jun 21, 2017 at 2:50 PM, XSL-List: The Open Forum on XSL
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:

This message contains the recent posts to the XSL-List: The Open Forum on XSL
>mailing list managed by Mulberry Technologies, Inc.
(http://lists.mulberrytech.com ).
>
>
>
>---------- Forwarded message ----------
>From: Rahul Singh <rahulsinghindia15@xxxxxxxxx>
>To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>Cc:
>Bcc:
>Date: Tue, 20 Jun 2017 18:59:40 +0530
>Subject: XSL Condition is not working
>
>My xsl code is not working as per given expected output. I need data from
merge1.xml if Alert_Type__c='Document Downloaded' and
Document_Name__c='abcTest.txt' is match with merge2.xml with
Document_Name__c='abcTest.txt' and Alert_Type__c!='Document Downloaded'
>
>
>Input
>Merge1.xml:
>
>
>     <?xml version="1.0" encoding="UTF-8"?>
>     <objects>
>     <Alert__c>
>     <Alert_Type__c>Document Downloaded</Alert_Type__c>
>     <Document_Name__c>b (2).txt</Document_Name__c>
>     </Alert__c>
>     <Alert__c>
>     <Alert_Type__c>Document Downloaded</Alert_Type__c>
>      <Document_Name__c>w.txt</ Document_Name__c>
>      </Alert__c>
>      <Alert__c>
>     <Alert_Type__c>Document Downloaded</Alert_Type__c>
>     <Document_Name__c>w.txt</ Document_Name__c>
>     </Alert__c>
>     <Alert__c>
>      <Alert_Type__c>Document Downloaded</Alert_Type__c>
>     <Document_Name__c>file 1.pdf</Document_Name__c>
>     </Alert__c>
>     <Alert__c>
>     <Alert_Type__c>Document Downloaded</Alert_Type__c>
>     <Document_Name__c>abcTest. txt</Document_Name__c>
>     </Alert__c>
>     <Alert__c>
>     <Alert_Type__c>Document Downloaded</Alert_Type__c>
>      <Document_Name__c>VICS_810_ 004010_US.pdf</Document_Name__ c>
>     </Alert__c>
>     <Alert__c>
>     <Alert_Type__c>Document Downloaded</Alert_Type__c>
>     <Document_Name__c>VICS_810_ 004010_US.pdf</Document_Name__ c>
>      </Alert__c>
>      </objects>
>
>
>Merge2.xml:
>
>
>    <?xml version="1.0" encoding="UTF-8"?>
>    <objects>
>    <Data__c>
>    <Document_Name__c>abcTest.txt< /Document_Name__c>
>    <Alert_Type__c>Document Viewed</Alert_Type__c>
>     </Data__c>
>    <Data__c>
>    <Document_Name__c>w.txt</ Document_Name__c>
>    <Alert_Type__c>Document Viewed</Alert_Type__c>
>    </Data__c>
>    <Data__c>
>    <Document_Name__c>q.txt</ Document_Name__c>
>    <Alert_Type__c>Document Viewed</Alert_Type__c>
>     </Data__c>
>     <Data__c>
>    <Document_Name__c>file 1.pdf</Document_Name__c>
>    <Alert_Type__c>Document Viewed</Alert_Type__c>
>    </Data__c>
>    <Data__c>
>    <Document_Name__c> DealRoomData.csv</Document_ Name__c>
>    <Alert_Type__c>Document Viewed</Alert_Type__c>
>     </Data__c>
>    <Data__c>
>    <Document_Name__c>b (2).txt</Document_Name__c>
>    <Alert_Type__c>Document Viewed</Alert_Type__c>
>    </Data__c>
>    <Data__c>
>    <Document_Name__c>w.txt</ Document_Name__c>
>    <Alert_Type__c>Document Viewed</Alert_Type__c>
>    </Data__c>
>    <Data__c>
>    <Document_Name__c>VICS_810_ 004010_US.pdf</Document_Name__ c>
>    <Alert_Type__c>Document Viewed</Alert_Type__c>
>    </Data__c>
>    <Data__c>
>    <Document_Name__c>VICS_810_ 004010_US.pdf</Document_Name__ c>
>    <Alert_Type__c>Document Viewed</Alert_Type__c>
>     </Data__c>
>    </objects>
>
>
>XSL:
>
>
>    <?xml version="1.0" encoding="UTF-8"?>
>    <xsl:stylesheet xmlns:xsl="http://www.w3.org/ 1999/XSL/Transform"
>    xmlns:xs="http://www.w3.org/ 2001/XMLSchema" exclude-result-prefixes="xs"
version="2.0">
>    <xsl:output method="xml" indent="yes"/>
>    <xsl:param name="XMLMerge2" select="document('merge2.xml') "/>
>    <xsl:template match="objects">
>        <objects>
>            <xsl:if test="
>                    $XMLMerge2/objects != ''">
>                <xsl:for-each select="Alert__c">
>                    <xsl:variable name="Email_from_merge1"
select="Alert_Type__c"/>
>                    <xsl:variable name="Email_from_merge2"
select="Document_Name__c"/>
>                    <xsl:if
>                        test="not(exists($XMLMerge2/
objects/Data__c[Alert_Type__c = $Email_from_merge1]))">
>                        <xsl:if
>                            test="exists($XMLMerge2/
objects/Data__c[Document_Name_ _c = $Email_from_merge2])">
>                            <xsl:copy>
>                                <xsl:apply-templates select="@* | node()"/>
>                            </xsl:copy>
>                        </xsl:if>
>                    </xsl:if>
>                </xsl:for-each>
>            </xsl:if>
>        </objects>
>      </xsl:template>
>      <xsl:template match="@* | node()">
>        <xsl:copy>
>            <xsl:apply-templates select="@* | node()"/>
>        </xsl:copy>
>     </xsl:template>
>    </xsl:stylesheet>
>
>
>Expected  output:
>
>
>     <?xml version="1.0" encoding="UTF-8"?>
>     <objects>
>    <Alert__c>
>    <Alert_Type__c>Document Downloaded</Alert_Type__c>
>    <Document_Name__c>abcTest.txt< /Document_Name__c>
>     </Alert__c>
>    </objects>
>
>---------- Forwarded message ----------
>From: Priscilla Walmsley <pwalmsley@xxxxxxxxxxx>
>To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
>Cc:
>Bcc:
>Date: Tue, 20 Jun 2017 13:22:52 -0400
>Subject: XSLT at the XML Summer School 2017
>
>Hello,
>We have announced the program for the XML Summer School, which takes
placeSeptember 17-22in Oxford, UK.
>The XSLT and XQuery course may be of particular interest.  It is
anintermediate to advanced course with the goal of helping developers who
arecurrently using XSLT to be more effective and efficient.  It's a
greatopportunity to spend some time with XSLT and XQuery experts like
MichaelKay, Florent Georges and Adam Retter (and me!).  The classes are:
>- XSLT and XQuery Performance Workshop (taught by Michael Kay)
>- Refactoring XSLT (taught by Priscilla Walmsley)
>- Querying XML Databases with XQuery (taught by Adam Retter)
>- XSLT 3.0 and XQuery 3.0 (taught by Florent Georges)
>There is also quite a lot of XSLT in the Hands-onDigitalPublishing course
forslightly less experienced XSLT developers. Taught by Norm Walsh,
PeterFlynn, Lauren Wood and Matt Patterson, the classes teach practical
methodsfor transforming both XML and Word documents to HTML5 for Web and ePub
publishing.
>Of course, the rest of the curriculum and faculty are excellent also. Youcan
find out more at:
>http://xmlsummerschool.com/ curriculum-2017/
>Consider travelling to the beautiful town of Oxford this summer to
furtheradvance your XSLT skills and socialize with people with the same
interestsand challenges in a relaxed setting.
>Please feel free to contact me if you have any question about the
curriculumor the Summer School in general.  Hope to see you there!
>Priscilla
>
>---------- Forwarded message ----------
>From: "Imsieke, Gerrit, le-tex" <gerrit.imsieke@xxxxxxxxx>
>To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>Cc:
>Bcc:
>Date: Tue, 20 Jun 2017 20:03:22 +0200
>Subject: Re:  XSL Condition is not working
>I donbt understand it fully. The output comprises all of merge1.xmlbs
Alter__c  items because all meet your conditions.
>
>Why do you expect that the output objects element contains only
Alert__c[Document_Name__c = 'abcTest.txt']]?
>
>For example, take
><Alert__c>
>  <Alert_Type__c>Document Downloaded</Alert_Type__c>
>  <Document_Name__c>w.txt</Docum ent_Name__c>
></Alert__c>
>
>$Email_from_merge1 is 'Document Downloaded'
>
>not(exists($XMLMerge2/objects/ Data__c[Alert_Type__c = $Email_from_merge1]))
is true
>because all Data__c in merge2.xml have an Alert_Type__c of 'Document Viewed'
>
>$Email_from_merge2 is 'w.txt'
>$XMLMerge2/objects/Data__c[Doc ument_Name__c = 'w.txt'] exists (there are two
Data__c with Document_Name__c = 'w.txt').
>
>So for this example both 'if' conditions are true, and for all other Alert__c
elements, too.
>
>This explains the output, yet it doesnbt explain why it is different from
your expectations.
>
>Gerrit
>
>On 6/20/17 3:30 PM, Rahul Singh rahulsinghindia15@xxxxxxxxx wrote:
>
>My xsl code is not working as per given expected output. I need data from
merge1.xml if Alert_Type__c='Document Downloaded' and
Document_Name__c='abcTest.txt' is match with merge2.xml with
Document_Name__c='abcTest.txt' and Alert_Type__c!='Document Downloaded'
>>
>>Input
>>Merge1.xml:
>>
>>      <?xml version="1.0" encoding="UTF-8"?>
>>      <objects>
>>      <Alert__c>
>>      <Alert_Type__c>Document Downloaded</Alert_Type__c>
>>      <Document_Name__c>b (2).txt</Document_Name__c>
>>      </Alert__c>
>>      <Alert__c>
>>      <Alert_Type__c>Document Downloaded</Alert_Type__c>
>>       <Document_Name__c>w.txt</Docu ment_Name__c>
>>       </Alert__c>
>>       <Alert__c>
>>      <Alert_Type__c>Document Downloaded</Alert_Type__c>
>>      <Document_Name__c>w.txt</Docum ent_Name__c>
>>      </Alert__c>
>>      <Alert__c>
>>       <Alert_Type__c>Document Downloaded</Alert_Type__c>
>>      <Document_Name__c>file 1.pdf</Document_Name__c>
>>      </Alert__c>
>>      <Alert__c>
>>      <Alert_Type__c>Document Downloaded</Alert_Type__c>
>>      <Document_Name__c>abcTest.txt< /Document_Name__c>
>>      </Alert__c>
>>      <Alert__c>
>>      <Alert_Type__c>Document Downloaded</Alert_Type__c>
>>       <Document_Name__c>VICS_810_00 4010_US.pdf</Document_Name__c>
>>      </Alert__c>
>>      <Alert__c>
>>      <Alert_Type__c>Document Downloaded</Alert_Type__c>
>>      <Document_Name__c>VICS_810_004 010_US.pdf</Document_Name__c>
>>       </Alert__c>
>>       </objects>
>>
>>Merge2.xml:
>>
>>     <?xml version="1.0" encoding="UTF-8"?>
>>     <objects>
>>     <Data__c>
>>     <Document_Name__c>abcTest. txt</Document_Name__c>
>>     <Alert_Type__c>Document Viewed</Alert_Type__c>
>>      </Data__c>
>>     <Data__c>
>>     <Document_Name__c>w.txt</Docu ment_Name__c>
>>     <Alert_Type__c>Document Viewed</Alert_Type__c>
>>     </Data__c>
>>     <Data__c>
>>     <Document_Name__c>q.txt</Docu ment_Name__c>
>>     <Alert_Type__c>Document Viewed</Alert_Type__c>
>>      </Data__c>
>>      <Data__c>
>>     <Document_Name__c>file 1.pdf</Document_Name__c>
>>     <Alert_Type__c>Document Viewed</Alert_Type__c>
>>     </Data__c>
>>     <Data__c>
>>     <Document_Name__c>DealRoomDat a.csv</Document_Name__c>
>>     <Alert_Type__c>Document Viewed</Alert_Type__c>
>>      </Data__c>
>>     <Data__c>
>>     <Document_Name__c>b (2).txt</Document_Name__c>
>>     <Alert_Type__c>Document Viewed</Alert_Type__c>
>>     </Data__c>
>>     <Data__c>
>>     <Document_Name__c>w.txt</Docu ment_Name__c>
>>     <Alert_Type__c>Document Viewed</Alert_Type__c>
>>     </Data__c>
>>     <Data__c>
>>     <Document_Name__c>VICS_810_00 4010_US.pdf</Document_Name__c>
>>     <Alert_Type__c>Document Viewed</Alert_Type__c>
>>     </Data__c>
>>     <Data__c>
>>     <Document_Name__c>VICS_810_00 4010_US.pdf</Document_Name__c>
>>     <Alert_Type__c>Document Viewed</Alert_Type__c>
>>      </Data__c>
>>     </objects>
>>
>>XSL:
>>
>>     <?xml version="1.0" encoding="UTF-8"?>
>>     <xsl:stylesheet xmlns:xsl="http://www.w3.org/1 999/XSL/Transform"
>>     xmlns:xs="http://www.w3.org/2 001/XMLSchema"
exclude-result-prefixes="xs" version="2.0">
>>     <xsl:output method="xml" indent="yes"/>
>>     <xsl:param name="XMLMerge2" select="document('merge2.xml') "/>
>>     <xsl:template match="objects">
>>         <objects>
>>             <xsl:if test="
>>                     $XMLMerge2/objects != ''">
>>                 <xsl:for-each select="Alert__c">
>>                     <xsl:variable name="Email_from_merge1"
select="Alert_Type__c"/>
>>                     <xsl:variable name="Email_from_merge2"
select="Document_Name__c"/>
>>                     <xsl:if
>>                         test="not(exists($XMLMerge2/o
bjects/Data__c[Alert_Type__c = $Email_from_merge1]))">
>>                         <xsl:if
>>                             test="exists($XMLMerge2/objec
ts/Data__c[Document_Name__c = $Email_from_merge2])">
>>                             <xsl:copy>
>>                                 <xsl:apply-templates select="@* |
node()"/>
>>                             </xsl:copy>
>>                         </xsl:if>
>>                     </xsl:if>
>>                 </xsl:for-each>
>>             </xsl:if>
>>         </objects>
>>       </xsl:template>
>>       <xsl:template match="@* | node()">
>>         <xsl:copy>
>>             <xsl:apply-templates select="@* | node()"/>
>>         </xsl:copy>
>>      </xsl:template>
>>     </xsl:stylesheet>
>>
>>Expected  output:
>>
>>      <?xml version="1.0" encoding="UTF-8"?>
>>      <objects>
>>     <Alert__c>
>>     <Alert_Type__c>Document Downloaded</Alert_Type__c>
>>     <Document_Name__c>abcTest. txt</Document_Name__c>
>>      </Alert__c>
>>     </objects>
>>XSL-List info and archive <http://www.mulberrytech.com/x sl/xsl-list>
>>EasyUnsubscribe <http://lists.mulberrytech.com /unsub/xsl-list/225679> (by
email <mailto:ulberrytech.com?subject=remove >)
>>
>--
>Gerrit Imsieke
>GeschC$ftsfC<hrer / Managing Director
>le-tex publishing services GmbH
>Weissenfelser Str. 84, 04229 Leipzig, Germany
>Phone +49 341 355356 110, Fax +49 341 355356 510
>gerrit.imsieke@xxxxxxxxx, http://www.le-tex.de
>
>Registergericht / Commercial Register: Amtsgericht Leipzig
>Registernummer / Registration Number: HRB 24930
>
>GeschC$ftsfC<hrer: Gerrit Imsieke, Svea Jelonek,
>Thomas Schmidt, Dr. Reinhard VC6ckler
>
>

XSL-List info and archive
EasyUnsubscribe (by email)

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.