This is the beginning of a case in the file, the whole case was to large to
send.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="urn:enterprise.soap.sforce.com"
xmlns:sf="urn:sobject.enterprise.soap.sforce.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<LimitInfoHeader>
<limitInfo>
<current>65</current>
<limit>5000000</limit>
<type>API REQUESTS</type>
</limitInfo>
</LimitInfoHeader>
</soapenv:Header>
<soapenv:Body>
<queryResponse>
<result>
<done>false</done>
<queryLocator>sxxx-25</queryLocator>
<!-- beginning of case one -->
<records xsi:type="sf:Case">
<sf:Id>xxxxx</sf:Id>
<sf:CaseNumber>xxxxxxxx</sf:CaseNumber>
<sf:Case_Activities__r>
<done>true</done>
<queryLocator xsi:nil="true"/>
<records xsi:type="sf:ExternalReference_GCC__c">
<sf:Id xsi:nil="true"/>
<sf:ExternalReferenceNumber_GCC__c>xxxxxx</sf:Ext
ernalReferenceNumber_GCC__c>
<sf:ExternalSource_GCC__c>dsfsffds</sf:ExternalSo
urce_GCC__c>
</records>
<size>1</size>
</sf:Case_Activities__r>
<sf:Case_CaseNotes_GCC__r>
<done>true</done>
<queryLocator xsi:nil="true"/>
<records xsi:type="sf:CaseNote_GCC__c">
<sf:Id>a0g3L000000qNgkQAE</sf:Id>
<sf:CommentLanguage_GCC__c>English</sf:CommentLan
guage_GCC__c>
<sf:Comment_GCC__c>Test only</sf:Comment_GCC__c>
<sf:LastModifiedDate>2023-05-15T13:53:47.000Z</sf
:LastModifiedDate>
<sf:Type_GCC__c>General</sf:Type_GCC__c>
</records>
From: Bauman, Syd s.bauman@xxxxxxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Friday, May 26, 2023 9:55 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [EXTERNAL] Re: creating multiple xml documents from one large
xml document
(Confession: I did not understand the original question.)
If you are not getting any result file the two most likely culprits are
1. namespace problem
2. you are calling the program incorrectly
I am guessing that you are calling the xslt2b program correctly (i.e., its
signature is xslt2 [input] [stylesheet] [output]b), because if not, you
would probably get an error (like bStylesheet file is not really a
stylesheetb), not just no output.
I notice that in the code you posted, the <records> element is being matched
as if it were in no namespace. If that is true (the <records> element(s) in
soap.xml are in no namespace), then we need to look elsewhere for a problem.
If it is not true (the <records> element(s) in soap.xml are in a namespace,
e.g. "http://www.w3.org/2003/05/soap-envelope/"), then that is the problem.
Using either
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sf="urn:sobject.enterprise.soap.sforce.com"
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:template match="soap:records[@xsi:type eq 'sf:CaseNote_GCC__c']">
...
or
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sf="urn:sobject.enterprise.soap.sforce.com"
xpath-default-namespace="http://www.w3.org/2003/05/soap-envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...
should do the trick.
________________________________
Ibm using Saxon XSLT 2
Calling it like: xslt2 soap.xml file.xsl hello.htm
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sf="urn:sobject.enterprise.soap.sforce.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:template match="records[@xsi:type = 'sf:CaseNote_GCC__c']">
<xsl:result-document href="case-{sf:Id}-{sf:CaseNumber}.xml">
<xsl:copy-of select="."/>
</xsl:result-document>
</xsl:template>
</xsl:stylesheet>
Not getting any result files.
XSL-List info and archive<http://www.mulberrytech.com/xsl/xsl-list>
EasyUnsubscribe<http://lists.mulberrytech.com/unsub/xsl-list/649132> (by
email)
XSL-List info and archive<http://www.mulberrytech.com/xsl/xsl-list>
EasyUnsubscribe<http://lists.mulberrytech.com/unsub/xsl-list/3514465> (by
email<>)
|