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

Re: collection is not working

Subject: Re: collection is not working
From: "Flanders, Charles E (US) charles.flanders@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 2 Apr 2018 19:39:39 -0000
Re:  collection is not working
I think you have your parameter and use of the collection function backwards.

Is ARB a folder name that contains the 100 XML files? If so, you want to
define your parameter (using the collection function) as:

    <xsl:param name="DocumentsURI"
select="'collection(file:/C:/Users/rahul/Downloads/ARB/ARB/?select=*.xml)"/>

Then, the for the  for-each is the parameter $DocumentsURI



From: Rahul Singh rahulsinghindia15@xxxxxxxxx
[mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx]
Sent: Monday, April 02, 2018 12:40 PM
To: XSL-List: The Open Forum on XSL; xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject:  collection is not working

*** WARNING ***
EXTERNAL EMAIL -- This message originates from outside our organization.

Hi,

I have 100 xml file which contains xml data with schemalocation namespace in
root element, i have written xslt to merge file name with schema name in one
file but i am not able to generate my output :

Input:
aa.xml
<?xml version="1.0" encoding="UTF-8"?>
<article xsi:noSchemaLocation="aa.xsd">
            <name>aaas</name>
</article>


bb.xml
<?xml version="1.0" encoding="UTF-8"?>
<article xsi:noSchemaLocation="bb.xsd">
            <name>ars</name>
</article>


cc.xml
<?xml version="1.0" encoding="UTF-8"?>
<article> xsi:noSchemaLocation="cc.xsd"
            <name>tytu</name>
</article>


Expected output:

Filename  Schema name
aa.xml      aa.xsd
bb.xml      bb.xsd
cc.xml      cc.xsd


code:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions">
    <xsl:output method="xml" indent="yes"/>
    <xsl:strip-space elements="*"/>
    <xsl:param name="DocumentsURI"
select="'file:/C:/Users/rahul/Downloads/ARB/ARB'"/>
    <xsl:template match="node()|@*">
        <xsl:copy>
            <xsl:apply-templates select="node()|@*"/>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="/">
        <!--Generating Result Docuemnt-->
        <xsl:result-document href="Merged.xml" method="xml" indent="yes">
            <Articles>
                <xsl:for-each
select="collection(concat($DocumentsURI,'?select=*.xml;recurse=yes;on-error=i
gnore'))">
                    <xsl:apply-templates select="/article"/>
                </xsl:for-each>
            </Articles>
        </xsl:result-document>
    </xsl:template>
</xsl:stylesheet>
XSL-List info and archive<http://www.mulberrytech.com/xsl/xsl-list>
EasyUnsubscribe<-list/509596> (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.