Я использую набор XML и XSLT-кодирования для извлечения определенных c данных из базы данных. XSLT может быть неправильно сформирован, но я не знаю, как обновить код XSLT. Когда я пытаюсь сохранить код в приложении, которое взаимодействует с базой данных, я получаю сообщение об ошибке в строке темы «Экспорт XSLT - элемент XSLT может не содержать элемент XSLT».
То, что я пытаюсь выполнить sh - это несколько вещей: a) Формат даты в 4-м столбце должен быть отформатирован как «ггггммдд» и объединен со значением в 3-м столбце; б) данные в 7-м столбце должны состоять не менее чем из 6 цифр, и есть ряд значений, в которых начальный ноль был удален из вывода; есть также оператор выбора, где если доступно значение 2, то использовать значение 2, если нет, то использовать значение 1; c) добавьте дату выплаты (данные) в первом столбце к данным в 17-м столбце в качестве префикса с пробелом между ними в том же формате.
Любое понимание будет с благодарностью. Кодировка ниже, и я пронумеровал столбцы в строках заголовков.
Шейн
{
<?xml version="1.0" encoding="UTF-8"?>
<GLPayrollExportConfiguration>
<definitions>
<FileType Value="CSV"/>
<FileName>
<Value Value="CRJ_GL_Summary_"/>
<Value Value="paygroup_xref"/>
<Value Value="_"/>
<Value Value="payrun_payperiod_and_suffix"/>
<Value Value="_"/>
<Value Value="transaction_timestamp"/>
<Value Value=".csv"/>
</FileName>
<Settings>
<SplitMode Value="HOME_LOCATION_SPLIT"/>
<ChartOfAccountXRefCode Value="GL"/>
<RunOnPayRunCommit Value="True"/>
</Settings>
<Header>
1) <Text Value="Posting Date,"/>
2) <Text Value="Document Type,"/>
3) <Text Value=" ,"/>
4) <Text Value="Account Type,"/>
5) <Text Value="Account No,"/>
6) <Text Value="Fund No,"/>
7) <Text Value="Dimension Speedkey Code,"/>
8) <Text Value="Dimension 1,"/>
9) <Text Value="Dimension 2,"/>
10) <Text Value="Dimension 3,"/>
11) <Text Value="Dimension 4,"/>
12) <Text Value="Dimension 5,"/>
13) <Text Value="Dimension 6,"/>
14) <Text Value="Dimension 7,"/>
15) <Text Value="Dimension 8,"/>
16) <Text Value="External Document No,"/>
17) <Text Value="Description,"/>
18) <Text Value="Amount,"/>
</Header>
<Columns>
<Column Name="PostingDate" DataType="datetime" Source="data" Value="payrun_pay_date" Sort="true"/>
<Column Name="DocumentType" Value=" "/>
<Column Name=" " DataType="string" Value="PAYROLL"/>
<Column Name="AccountType" DataType="datetime" Source="mapping"/>
<Column Name="AccountNo" DataType="string" Source="data" Value="payrun_category_override_journal_number"/>
<Column Name="FundNo" DataType="string" Value="UNREST"/>
<Column Name="DimensionSpeedkeyCode" DataType="string" Source="mapping"/>
<Column Name="Dimension1" DataType="string" Value=" "/>
<Column Name="Dimension2" DataType="string" Value=" "/>
<Column Name="Dimension3" DataType="string" Value=" "/>
<Column Name="Dimension4" DataType="string" Value=" "/>
<Column Name="Dimension5" DataType="string" Value=" "/>
<Column Name="Dimension6" DataType="string" Value=" "/>
<Column Name="Dimension7" DataType="string" Value=" "/>
<Column Name="Dimension8" DataType="string" Value=" "/>
<Column Name="ExternalDocumentNo" DataType="string" Value=" "/>
<Column Name="Description" DataType="string" Source="mapping"/>
<Column Name="Amount" DataType="number" Source="data" Value="payrun_amount" Function="sum" />
</Columns>
</definitions>
<MappingDefinitions>
<definition>
<criteriaset>
<!-- EXCLUDE MEMO DEDUCTIONS AND TAXABLE BENEFITS / JOURNAL NUMBER CODED AS exclude, Exclude, or EXCLUDE -->
<criteria item="payrun_category_override_journal_number" op="ne">EXCLUDE</criteria>
<criteria item="payrun_category_override_journal_number" op="ne">Exclude</criteria>
<criteria item="payrun_category_override_journal_number" op="ne">exclude</criteria>
<!-- EXCLUDE RECORDS WITH with 0 VALUE -->
<criteria item="payrun_amount" op="ne" opDataType="number">0</criteria>
</criteriaset>
<mapping>
<mapto columnname="AccountType">
<Value Value="payrun_pay_date"/>
</mapto>
<mapto columnname="DimensionSpeedkeyCode">
<Value Value="override_segment_charged_dynamic_org_level_onsitedepartment"/>
<Value Value="override_segment_dynamic_labor_metric_code_CostNumber"/>
</mapto>
<mapto columnname="Description">
<Value Value="payrun_category_override_description"/>
</mapto>
</mapping>
</definition>
</MappingDefinitions>
<ColumnFormats>
<ColumnFormat Name="PostingDate" Format="MM.dd.yy"/>
<ColumnFormat Name="DocumentType"/>
<ColumnFormat Name=" "/>
<ColumnFormat Name="AccountType" Format="yyyy-MM-dd"/>
<ColumnFormat Name="AccountNo" WrapChar="""/>
<ColumnFormat Name="FundNo"/>
<ColumnFormat Name="DimensionSpeedkeyCode" WrapChar="""/>
<ColumnFormat Name="Dimension1"/>
<ColumnFormat Name="Dimension2"/>
<ColumnFormat Name="Dimension3"/>
<ColumnFormat Name="Dimension4"/>
<ColumnFormat Name="Dimension5"/>
<ColumnFormat Name="Dimension6"/>
<ColumnFormat Name="Dimension7"/>
<ColumnFormat Name="Dimension8"/>
<ColumnFormat Name="ExternalDocumentNo"/>
<ColumnFormat Name="Description" WrapChar="""/>
<ColumnFormat Name="Amount" Format="{0:##.00}"/>
</ColumnFormats>
</GLPayrollExportConfiguration>
}
XSLT-код {
<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:template match="/">
<xsl:for-each select="Export/Record">
<xsl:if test="Amount != 0">
<!--need one of the below for each column-->
<xsl:value-of select="'payrun_pay_date'"/>
<xsl:value-of select="' '"/>
<xsl:template match="DocumentType/">
<xsl:variable name="aaa" select="PAYROLL"/>
<xsl:variable name="bbb" select="payrun_pay_date"/>
<xsl:value-of select="concat($aaa,$bbb)"/>
</xsl:template>
<xsl:value-of select="' '"/>
<xsl:value-of select="payrun_category_override_journal_number"/>
<xsl:value-of select="UNREST"/>
<xsl:template match="SuspensionSpeedKeyCode"/>
<xsl:choose>
<xsl:when test="override_segment_dynamic_labor_metric_code_CostNumber=' '">
<xsl:value-of select="override_segment_charged_dynamic_org_level_onsitedepartment"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="override_segment_dynamic_labor_metric_code_CostNumber"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:value-of select="' '"/>
<xsl:value-of select="' '"/>
<xsl:value-of select="' '"/>
<xsl:value-of select="' '"/>
<xsl:value-of select="' '"/>
<xsl:value-of select="' '"/>
<xsl:value-of select="' '"/>
<xsl:value-of select="' '"/>
<xsl:value-of select="' '"/>
<xsl:template match="Description"/>
<xsl:variable name="ccc" select="payrun_pay_date"/>
<xsl:variable name="ddd" select="payrun_category_override_description"/>
<xsl:value-of select="concat($ccc,$ddd)"/>
</xsl:template>
<xsl:value-of select="payrun_amount"/>
</xsl:template>
</xsl:stylesheet>
}