Revert "add views for transform"

This reverts commit 1629bf1eaf.
This commit is contained in:
etreschenkov 2025-05-05 17:35:28 +03:00
parent 1629bf1eaf
commit 366a45d115
3 changed files with 8948 additions and 564 deletions

File diff suppressed because it is too large Load diff

View file

@ -2526,32 +2526,32 @@
</AccountUnion> </AccountUnion>
<executionCurrencyView> <executionCurrencyView>
<source code="executionCurrency"/> <source code="executionCurrency"/>
<set><field code="exchangeExecutionId"/></set> <set><exchangeExecutionId/></set>
<set><field code="side"/></set> <set><side/></set>
<set><field code="market" name="Код класса валютного инструмента" shortname="Код класса" link="market" linkKeyCode="code" linkCode="code"/></set> <set><market name="Код класса валютного инструмента" shortname="Код класса" link="market" linkKeyCode="code" linkCode="code"/></set>
<set><field code="tradingDate"/></set> <set><tradingDate/></set>
<set><field code="settlementDate"/></set> <set><settlementDate/></set>
<set><field code="securitySymbol"/></set> <set><securitySymbol/></set>
<set><field code="price"/></set> <set><price/></set>
<set><field code="settlementAmount" name="Сумма сделки в рублях" shortname="Сумма сделки"/></set> <set><settlementAmount name="Сумма сделки в рублях" shortname="Сумма сделки"/></set>
<set><field code="lots" shortname="Объем в лотах"/></set> <set><lots shortname="Объем в лотах"/></set>
<set><field code="quantity" name="Объем сделки в единицах валюты" shortname="Объем сделки"/></set> <set><quantity name="Объем сделки в единицах валюты" shortname="Объем сделки"/></set>
<set><field code="exchangeExecutionTime" shortname="Время сделки"/></set> <set><exchangeExecutionTime shortname="Время сделки"/></set>
<set><field code="partyTradingClearingRegistryId"/></set> <set><partyTradingClearingRegistryId/></set>
<set><field code="comment" visible="true" ignore="false"/></set> <set><comment visible="true" ignore="false"/></set>
<set><field code="clientCode" visible="true" ignore="false"/></set> <set><clientCode visible="true" ignore="false"/></set>
<set><field code="settlementCode" name="Код расчетов при размещении" shortname="Код режима расчетов" visible="true" ignore="false"/></set> <set><settlementCode name="Код расчетов при размещении" shortname="Код режима расчетов" visible="true" ignore="false"/></set>
<set><field code="companyId" name="Код участника клиринга" shortname="Код УК" link="company" linkCode="clearingCode"/></set> <set><companyId name="Код участника клиринга" shortname="Код УК" link="company" linkCode="clearingCode"/></set>
<set><field code="companyId" name="Название участника клиринга" shortname="Название УК"/></set> <set><companyId name="Название участника клиринга" shortname="Название УК"/></set>
<set><field code="counterPartyId" name="Код УК контрагента" shortname="Код УК контрагента" visible="true" link="company" linkCode="clearingCode"/></set> <set><counterPartyId name="Код УК контрагента" shortname="Код УК контрагента" visible="true" link="company" linkCode="clearingCode"/></set>
<set><field code="counterPartyId" name="Название УК контрагента" shortname="Название УК контрагента" visible="true"/></set> <set><counterPartyId name="Название УК контрагента" shortname="Название УК контрагента" visible="true"/></set>
<set><field code="market" name="Наименование класса валютного инструмента" shortname="Наименование класса"/></set> <set><market name="Наименование класса валютного инструмента" shortname="Наименование класса"/></set>
<set><field code="currencyCode" name="Код валюты расчетов" shortname="Валюта расчетов" visible="true"/></set> <set><currencyCode name="Код валюты расчетов" shortname="Валюта расчетов" visible="true"/></set>
<set><field code="market" name="Код секции в Клиринговой системе" shortname="Код секции в КС" link="market" linkKeyCode="code" linkCode="section"/></set> <set><market name="Код секции в Клиринговой системе" shortname="Код секции в КС" link="market" linkKeyCode="code" linkCode="section"/></set>
<set><field code="linkedExchangeExecutionId" visible="true" ignore="false"/></set> <set><linkedExchangeExecutionId visible="true" ignore="false"/></set>
<set><field code="id"/></set> <set><id/></set>
<set><field code="createdAt"/></set> <set><createdAt/></set>
<set><field code="updatedAt"/></set> <set><updatedAt/></set>
</executionCurrencyView> </executionCurrencyView>
</views> </views>
<types> <types>

View file

@ -5,14 +5,14 @@
<xsl:template match="/"> <xsl:template match="/">
<xsl:apply-templates select="*"/> <xsl:apply-templates select="*"/>
</xsl:template> </xsl:template>
<xsl:template match="meta"> <xsl:template match="meta">
{ {
"version": "<xsl:value-of select="@version"/>", "version": "<xsl:value-of select="@version"/>",
<xsl:apply-templates select="*"/> <xsl:apply-templates select="*"/>
} }
</xsl:template> </xsl:template>
<xsl:template match="enums"> <xsl:template match="enums">
"enums": { "enums": {
<xsl:apply-templates select="*" mode="enums"/> <xsl:apply-templates select="*" mode="enums"/>
@ -26,10 +26,10 @@
} }
</xsl:template> </xsl:template>
<xsl:template match="views"> <xsl:template match="views">
,"views": { ,"views": {
<xsl:apply-templates select="*" mode="views"/> <!--xsl:apply-templates select="*" mode="views"/-->
} }
</xsl:template> </xsl:template>
@ -42,65 +42,40 @@
<xsl:apply-templates select="*" mode="types"/> <xsl:apply-templates select="*" mode="types"/>
] ]
</xsl:template> </xsl:template>
<xsl:template match="type" mode="types"> <xsl:template match="*" mode="types">
<xsl:if test="position() > 1">,</xsl:if> <xsl:if test="position() > 1">,</xsl:if>
{ {
<xsl:for-each select="@*"> "code": "<xsl:value-of select="name(.)"/>",
"<xsl:value-of select="name()"/>": "<xsl:value-of select="."/>" <xsl:for-each select="@*">
<xsl:if test="position() != last()">,</xsl:if> "<xsl:value-of select="name()"/>": "<xsl:value-of select="."/>"
</xsl:for-each> <xsl:if test="position() != last()">,</xsl:if>
</xsl:for-each>
} }
</xsl:template> </xsl:template>
<xsl:template match="*" mode="enums"> <xsl:template match="*" mode="enums">
<xsl:if test="position() > 1">,</xsl:if> <xsl:if test="position() > 1">,</xsl:if>
"<xsl:value-of select="name(.)"/>": { "<xsl:value-of select="name(.)"/>": {
<xsl:for-each select="@*"> <xsl:for-each select="@*">
"<xsl:value-of select="name()"/>": "<xsl:value-of select="."/>", "<xsl:value-of select="name()"/>": "<xsl:value-of select="."/>",
</xsl:for-each> </xsl:for-each>
"fields": [<xsl:apply-templates select="field"/>] "fields": [<xsl:apply-templates select="*" mode="field"/>]
,"values": [<xsl:apply-templates select="value"/>]
} }
</xsl:template> </xsl:template>
<xsl:template match="*" mode="objects"> <xsl:template match="*" mode="objects">
<xsl:if test="position() > 1">,</xsl:if> <xsl:if test="position() > 1">,</xsl:if>
"<xsl:value-of select="name(.)"/>": { "<xsl:value-of select="name(.)"/>": {
<xsl:for-each select="@*"> <xsl:for-each select="@*">
"<xsl:value-of select="name()"/>": "<xsl:value-of select="."/>", "<xsl:value-of select="name()"/>": "<xsl:value-of select="."/>",
</xsl:for-each> </xsl:for-each>
"fields": [<xsl:apply-templates select="field"/>] "fields": [<xsl:apply-templates select="*[name()!='actions']" mode="field"/>]
<xsl:apply-templates select="query|subscription|subscriptionHistory" mode="objects"/> <xsl:apply-templates select="query|subscription|subscriptionHistory" mode="objects"/>
<xsl:if test="actions">,"actions":[<xsl:apply-templates select="actions" mode="objects"/>]</xsl:if> <xsl:if test="actions">,"actions":[<xsl:apply-templates select="actions" mode="objects"/>]</xsl:if>
<xsl:if test="views">,"views":{<xsl:apply-templates select="views" mode="objects"/>}</xsl:if>
}
</xsl:template>
<xsl:template match="query" mode="objects">
,"query": {
"enabled": <xsl:value-of select="@enabled"/>,
"destination": "<xsl:value-of select="@destination"/>"
}
</xsl:template>
<xsl:template match="subscription" mode="objects">
,"subscription": {
"enabled": <xsl:value-of select="@enabled"/>,
"destination": "<xsl:value-of select="@destination"/>"
}
</xsl:template>
<xsl:template match="subscriptionHistory" mode="objects">
,"subscriptionHistory": {
"enabled": <xsl:value-of select="@enabled"/>,
"destination": "<xsl:value-of select="@destination"/>"
} }
</xsl:template> </xsl:template>
@ -110,35 +85,30 @@
<xsl:template match="subscriptionHistory" mode="objects"></xsl:template> <xsl:template match="subscriptionHistory" mode="objects"></xsl:template>
<xsl:template match="views" mode="objects"></xsl:template> <xsl:template match="views" mode="objects"></xsl:template>
<xsl:template match="actions" mode="objects"> <xsl:template match="actions" mode="objects">
<xsl:if test="position() > 1">,</xsl:if> <xsl:for-each select="*">
{ <xsl:if test="position() > 1">,</xsl:if>
<xsl:for-each select="@*"> {"method":"<xsl:value-of select="name()"/>",
"<xsl:value-of select="name()"/>": "<xsl:value-of select="."/>", <xsl:for-each select="@*">
"<xsl:value-of select="name()"/>": "<xsl:value-of select="."/>",
</xsl:for-each>
"fields": [<xsl:apply-templates select="*" mode="field"/>]
}
</xsl:for-each> </xsl:for-each>
"fields": [<xsl:apply-templates select="field"/>]
}
</xsl:template> </xsl:template>
<xsl:template match="views" mode="objects">
<xsl:if test="position() > 1">,</xsl:if>
"<xsl:value-of select="@code"/>": {
"name": "<xsl:value-of select="@name"/>",
"fields": [<xsl:apply-templates select="field"/>]
}
</xsl:template>
<xsl:template match="*" mode="views"> <xsl:template match="*" mode="views">
<xsl:if test="position() > 1">,</xsl:if> <xsl:if test="position() > 1">,</xsl:if>
"<xsl:value-of select="name(.)"/>": { "<xsl:value-of select="name(.)"/>": {
<xsl:for-each select="@*"> <xsl:for-each select="@*">
"<xsl:value-of select="name()"/>": "<xsl:value-of select="."/>", "<xsl:value-of select="name()"/>": "<xsl:value-of select="."/>",
</xsl:for-each> </xsl:for-each>
<xsl:if test="source">"sources": [<xsl:apply-templates select="source" mode="views"/>]</xsl:if> <xsl:if test="source">"sources": [<xsl:apply-templates select="source" mode="views"/>]</xsl:if>
<xsl:if test="set">,"fields":[<xsl:apply-templates select="set" mode="views"/>]</xsl:if> <xsl:if test="set">,"fields":[<xsl:apply-templates select="set" mode="views"/>]</xsl:if>
} }
</xsl:template> </xsl:template>
@ -148,7 +118,7 @@
"<xsl:value-of select="@code"/>" "<xsl:value-of select="@code"/>"
</xsl:template> </xsl:template>
<xsl:template match="set" mode="views"> <xsl:template match="set" mode="views">
<xsl:if test="position() > 1">,</xsl:if> <xsl:if test="position() > 1">,</xsl:if>
<xsl:choose> <xsl:choose>
@ -156,48 +126,49 @@
<xsl:apply-templates select="field"/> <xsl:apply-templates select="field"/>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
{<xsl:for-each select="field[position() = 1]"> {<xsl:for-each select="field[position() = 1]">
<xsl:for-each select="@*[name()!='source']"> <xsl:for-each select="@*[name()!='source']">
<xsl:if test="position() > 1">,</xsl:if> <xsl:if test="position() > 1">,</xsl:if>
"<xsl:value-of select="name()"/>": "<xsl:value-of select="name()"/>":
<xsl:variable name="attrName"><xsl:value-of select="name()"/></xsl:variable> <xsl:variable name="attrName"><xsl:value-of select="name()"/></xsl:variable>
{ {
<xsl:for-each select="parent::*/parent::*/field/@*[name()=$attrName]"> <xsl:for-each select="parent::*/parent::*/field/@*[name()=$attrName]">
<xsl:apply-templates select="." mode="withSource"/> <xsl:apply-templates select="." mode="withSource"/>
<xsl:if test="position() != last()">,</xsl:if> <xsl:if test="position() != last()">,</xsl:if>
</xsl:for-each>
}
</xsl:for-each>
</xsl:for-each> </xsl:for-each>
} }
</xsl:for-each>
</xsl:for-each>
}
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:template> </xsl:template>
<xsl:template match="*" mode="field">
<xsl:template match="field">
<xsl:if test="position() > 1">,</xsl:if> <xsl:if test="position() > 1">,</xsl:if>
{ {"code": "<xsl:value-of select="name()"/>",
<xsl:for-each select="@*"> <xsl:for-each select="@*">
<xsl:choose> <xsl:choose>
<xsl:when test="name()='type'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when> <xsl:when test="name()='type'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when>
<xsl:when test="name()='length'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when> <xsl:when test="name()='length'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when>
<xsl:when test="name()='searchable'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when> <xsl:when test="name()='searchable'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when>
<xsl:when test="name()='sortable'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when> <xsl:when test="name()='sortable'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when>
<xsl:when test="name()='visible'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when> <xsl:when test="name()='visible'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when>
<xsl:when test="name()='enabled'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when> <xsl:when test="name()='enabled'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when>
<xsl:when test="name()='ignore'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when> <xsl:when test="name()='ignore'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when>
<xsl:when test="name()='required'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when> <xsl:when test="name()='required'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when>
<xsl:when test="name()='cacheable'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when> <xsl:when test="name()='cacheable'">"<xsl:value-of select="name()"/>": <xsl:value-of select="."/></xsl:when>
<xsl:otherwise>"<xsl:value-of select="name()"/>": "<xsl:value-of select="."/>"</xsl:otherwise> <xsl:otherwise>"<xsl:value-of select="name()"/>": "<xsl:value-of select="."/>"</xsl:otherwise>
</xsl:choose> </xsl:choose>
<xsl:if test="position() != last()">,</xsl:if> <xsl:if test="position() != last()">,</xsl:if>
</xsl:for-each> </xsl:for-each>
} }
</xsl:template> </xsl:template>
<xsl:template match="value"> <xsl:template match="value">
<xsl:if test="position() > 1">,</xsl:if> <xsl:if test="position() > 1">,</xsl:if>
{"<xsl:value-of select="name()"/>":
{ {
<xsl:for-each select="@*"> <xsl:for-each select="@*">
<xsl:choose> <xsl:choose>
@ -208,9 +179,9 @@
</xsl:choose> </xsl:choose>
<xsl:if test="position() != last()">,</xsl:if> <xsl:if test="position() != last()">,</xsl:if>
</xsl:for-each> </xsl:for-each>
} }}
</xsl:template> </xsl:template>
<xsl:template match="@*" mode="withSource"> <xsl:template match="@*" mode="withSource">
<xsl:choose> <xsl:choose>