XSLT - данные на уровне root недопустимы. Линия 1, позиция 1 - PullRequest
0 голосов
/ 01 апреля 2020

Я получаю эту ошибку:

2020-04-01 09:25:29.8519 [64] AN2PRER57BJE004:BJE_ustestr57  ERROR SharpTop.DataServices.Platform.Export.ExportHelper - Exception in ProcessXSLT() - ExportHelper class: 
System.Xml.XmlException: Data at the root level is invalid. Line 1, position 1.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XPath.XPathDocument.LoadFromReader(XmlReader reader, XmlSpace space)
at System.Xml.XPath.XPathDocument..ctor(Stream stream)
at SharpTop.DataServices.Platform.Export.ExportHelper.ProcessXSLT(ExportResult result, 
DataExportDefinition dataExportDefinion) in d:\_wf\01\1\s\Services\Platform\WBDataSvc\ExportFramework\ExportHelper.cs:line 76
2020-04-01 09:25:29.8519 [64] AN2PRER57BJE004:BJE_ustestr57  INFO SharpTop.Engine.BackgroundJobs.PayRunExportBase - XSLT transformation for USA failed.  

Эта проблема, как правило, из-за пробела, но я действительно не знаю, что не так с кодом, я искал его около 16 часов безрезультатно. Кто-нибудь может увидеть проблему?

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" xmlns:cs="urn:cs">
<xsl:output method="text" indent="no"/>
<xsl:template match="/">

<!-- Header -->
<!-- Col. 01 JournalID-->
<xsl:text>jrnlid,</xsl:text>
<!-- Col. 02 JournalLine -->
<xsl:text>jrnlline,</xsl:text>
<!-- Col. 03 BatchID-->
<xsl:text>batchid,</xsl:text>
<!-- Col. 04 Account -->
<xsl:text>acct,</xsl:text>
<!-- Col. 05 TransactionDate-->
<xsl:text>trnsdt,</xsl:text>
<!-- Col. 06 Description -->
<xsl:text>desc,</xsl:text>
<!-- Col. 07 Amount-->
<xsl:text>amt,</xsl:text>
<!-- Col. 08 Reversal -->
<xsl:text>reversal,</xsl:text>
<!-- Col. 09 GLType-->
<xsl:text>gltype,</xsl:text>
<!-- Col. 10 CurrencyType -->
<xsl:text>crnctype,</xsl:text>
<!-- Col. 11 PR-->
<xsl:text>pr</xsl:text>
<xsl:text>&#x0D;&#x0A;</xsl:text>

<!-- Details -->
<xsl:for-each select="Export/Record[Amt!=0]">
<!-- Col. 01 JournalID-->
<xsl:text>RJ-27,</xsl:text>
<!-- Col. 02 JournalLine -->
<xsl:number format="000001"/>
<xsl:text>,</xsl:text>
<!-- Col. 03 BatchID-->
<xsl:text>BWP,</xsl:text>
<!-- Col. 04 Account -->
<xsl:value-of select="concat('01',location,acct,department,'00',substring(empno,2,4))"/>
<xsl:text>,</xsl:text>
<!-- Col. 05 TransactionDate-->
<xsl:value-of select="trnsdt"/>
<xsl:text>,</xsl:text>
<!-- Col. 06 Description-->
<xsl:value-of select="desc"/>
<xsl:text>,</xsl:text>
<!-- Col. 07 Amount-->
<xsl:choose>
<xsl:when test="amt &lt; 0">
<xsl:value-of select='format-number(amt * -1,"0.00")'/>
</xsl:when>
<xsl:otherwise>
<xsl:text/>
</xsl:otherwise>
</xsl:choose>
<xsl:text/>
<!-- Col. 08  Reversal-->
<xsl:text>N,</xsl:text>
<!-- Col. 09 GLType-->
<xsl:text>C,</xsl:text>
<!-- Col. 10 CurrencyType -->
<xsl:text>USD,</xsl:text>
<!-- Col. 11 PR-->
<xsl:text>PR</xsl:text>
</xsl:for-each>
<xsl:text>&#x0D;&#x0A;</xsl:text>
</xsl:template>
</xsl:stylesheet>
...