Как НЕ показывать заголовки столбцов в xslt - PullRequest
0 голосов
/ 28 марта 2019

Я не хочу показывать заголовок (имена столбцов) при выводе кода xslt.

У меня есть код xslt, который загружает данные в файл csv с именами столбцов, но я не хочу, чтобы отображался заголовок столбца (метаданные),как это сделать?Я очень новичок в xslt и предлагаю мне несколько документов, чтобы получить опыт.

<?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 ws" xmlns:ws="urn:com.workday/workersync"
    xmlns:xtt="urn:com.workday/xtt" xmlns:etv="urn:com.workday/etv"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    version="2.0">
 <xsl:output method="xml"></xsl:output>
    <xsl:template name="Header">
        <Line xmlns:xtt="urn:com.workday/xtt" xtt:separator="," xtt:quotes="csv">
            <PositionName>PositionName</PositionName>
        <EffectiveStartDate>EffectiveStartDate</EffectiveStartDate>
            <EffectiveEndDate>EffectiveEndDate</EffectiveEndDate>
        <EmployeeID>EmployeeID</EmployeeID> 


        </Line>

    </xsl:template>

    <xsl:template match="/">

        <File xmlns:xtt="urn:com.workday/xtt" xtt:quotes="csv" xtt:separator="&#xD;&#xA;">
            <Record xtt:separator="," xtt:quotes="csv">
                <xsl:call-template name="Header" />
            </Record>

            <xsl:for-each select="ws:Worker_Sync/ws:Worker/ws:Additional_Information">

                <xsl:variable name="Current_date">
                    <xsl:value-of select="current-date()"/>
                </xsl:variable>

                <Record xtt:separator="," xtt:quotes="csv">

                <PositionName>
                    <xsl:value-of select="ws:PositionName"/>
                </PositionName>

        <EffectiveStartDate xtt:dateFormat="MM/dd/yyyy">
                        <xsl:value-of select="$Current_date"/>
                    </EffectiveStartDate>

                <EffectiveEndDate xtt:dateFormat="MM/dd/yyyy">
                    <xsl:value-of select="ws:EffectiveEndDate"/>
                </EffectiveEndDate>



                <EmployeeID>
                    <xsl:value-of select="ws:EmployeeID"/>
                </EmployeeID>

                </Record>
            </xsl:for-each>
        </File>
    </xsl:template>
</xsl:stylesheet>

Ответы [ 2 ]

1 голос
/ 29 марта 2019

Вы говорите, что ваш XSLT-код создает файл CSV, но это не такВаш XSLT-код создает XML, и мне кажется, что этот XML затем передается какой-то программе последующей обработки, которая преобразует этот XML в CSV.Возможно (как подсказывает @ user631953), что удаление вызова шаблона с именем «Заголовок» будет иметь желаемый эффект, но это только предположение;не зная спецификации программы постобработки, которую мы действительно не можем знать.

1 голос
/ 29 марта 2019

Возможно удаление всей детали:

<Record xtt:separator="," xtt:quotes="csv">
  <xsl:call-template name="Header" />
</Record>

вернет результат, который вы ищете?В любом случае, было бы неплохо увидеть ввод и желаемый вывод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...