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

View file

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