|
<xsl:transform xmlns:defterek="http://www.edefter.gov.tr/ek"
|
|
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
|
|
xmlns:edefter="http://www.edefter.gov.tr"
|
|
xmlns:error="https://doi.org/10.5281/zenodo.1495494#error"
|
|
xmlns:fct="localFunctions"
|
|
xmlns:gl-bus="http://www.xbrl.org/int/gl/bus/2006-10-25"
|
|
xmlns:gl-cor="http://www.xbrl.org/int/gl/cor/2006-10-25"
|
|
xmlns:gl-muc="http://www.xbrl.org/int/gl/muc/2006-10-25"
|
|
xmlns:gl-plt="http://www.xbrl.org/int/gl/plt/2010-04-16"
|
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
xmlns:sch="http://purl.oclc.org/dsdl/schematron"
|
|
xmlns:schxslt="https://doi.org/10.5281/zenodo.1495494"
|
|
xmlns:schxslt-api="https://doi.org/10.5281/zenodo.1495494#api"
|
|
xmlns:xades="http://uri.etsi.org/01903/v1.3.2#"
|
|
xmlns:xbrli="http://www.xbrl.org/2003/instance"
|
|
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
version="2.0">
|
|
<rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
xmlns:dct="http://purl.org/dc/terms/"
|
|
xmlns:skos="http://www.w3.org/2004/02/skos/core#">
|
|
<dct:creator>
|
|
<dct:Agent>
|
|
<skos:prefLabel>SchXslt/1.10.1 SAXON/EE 12.5</skos:prefLabel>
|
|
<schxslt.compile.typed-variables xmlns="https://doi.org/10.5281/zenodo.1495494#">true</schxslt.compile.typed-variables>
|
|
</dct:Agent>
|
|
</dct:creator>
|
|
<dct:created>2024-12-06T17:49:06.193+03:00</dct:created>
|
|
</rdf:Description>
|
|
<xsl:output indent="yes"/>
|
|
<xsl:param name="periodCoveredStart"
|
|
select="/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo/gl-cor:periodCoveredStart"/>
|
|
<xsl:param name="periodCoveredEnd"
|
|
select="/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo/gl-cor:periodCoveredEnd"/>
|
|
<xsl:param name="vknTckn"
|
|
select="/edefter:defter/xbrli:xbrl/xbrli:context/xbrli:entity/xbrli:identifier"/>
|
|
<xsl:param name="donemYil" select="substring($periodCoveredStart,1,4)"/>
|
|
<xsl:param name="donemAy" select="substring($periodCoveredStart,6,2)"/>
|
|
<xsl:param name="donem" select="number(concat($donemYil,$donemAy))"/>
|
|
<xsl:param name="dosyaAdi" select="base-uri()"/>
|
|
<xsl:param name="schxslt.validate.initial-document-uri" as="xs:string?"/>
|
|
<xsl:template name="schxslt.validate">
|
|
<xsl:apply-templates select="document($schxslt.validate.initial-document-uri)"/>
|
|
</xsl:template>
|
|
<xsl:template match="root()">
|
|
<xsl:param name="schxslt.validate.recursive-call"
|
|
as="xs:boolean"
|
|
select="false()"/>
|
|
<xsl:choose>
|
|
<xsl:when test="not($schxslt.validate.recursive-call) and (normalize-space($schxslt.validate.initial-document-uri) != '')">
|
|
<xsl:apply-templates select="document($schxslt.validate.initial-document-uri)">
|
|
<xsl:with-param name="schxslt.validate.recursive-call"
|
|
as="xs:boolean"
|
|
select="true()"/>
|
|
</xsl:apply-templates>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:variable name="metadata" as="element()?">
|
|
<svrl:metadata xmlns:dct="http://purl.org/dc/terms/"
|
|
xmlns:skos="http://www.w3.org/2004/02/skos/core#"
|
|
xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<dct:creator>
|
|
<dct:Agent>
|
|
<skos:prefLabel>
|
|
<xsl:value-of separator="/"
|
|
select="(system-property('xsl:product-name'), system-property('xsl:product-version'))"/>
|
|
</skos:prefLabel>
|
|
</dct:Agent>
|
|
</dct:creator>
|
|
<dct:created>
|
|
<xsl:value-of select="current-dateTime()"/>
|
|
</dct:created>
|
|
<dct:source>
|
|
<rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/">
|
|
<dct:creator>
|
|
<dct:Agent>
|
|
<skos:prefLabel>SchXslt/1.10.1 SAXON/EE 12.5</skos:prefLabel>
|
|
<schxslt.compile.typed-variables xmlns="https://doi.org/10.5281/zenodo.1495494#">true</schxslt.compile.typed-variables>
|
|
</dct:Agent>
|
|
</dct:creator>
|
|
<dct:created>2024-12-06T17:49:06.193+03:00</dct:created>
|
|
</rdf:Description>
|
|
</dct:source>
|
|
</svrl:metadata>
|
|
</xsl:variable>
|
|
<xsl:variable name="report" as="element(schxslt:report)">
|
|
<schxslt:report>
|
|
<xsl:call-template name="d7e42"/>
|
|
</schxslt:report>
|
|
</xsl:variable>
|
|
<xsl:variable name="schxslt:report" as="node()*">
|
|
<xsl:sequence select="$metadata"/>
|
|
<xsl:for-each select="$report/schxslt:document">
|
|
<xsl:for-each select="schxslt:pattern">
|
|
<xsl:sequence select="node()"/>
|
|
<xsl:sequence select="../schxslt:rule[@pattern = current()/@id]/node()"/>
|
|
</xsl:for-each>
|
|
</xsl:for-each>
|
|
</xsl:variable>
|
|
<svrl:schematron-output xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
title="Büyük defter dokümanlarını kontrol etmek için gerekli olan schematron kuralları">
|
|
<svrl:ns-prefix-in-attribute-values prefix="gl-plt" uri="http://www.xbrl.org/int/gl/plt/2010-04-16"/>
|
|
<svrl:ns-prefix-in-attribute-values prefix="gl-cor" uri="http://www.xbrl.org/int/gl/cor/2006-10-25"/>
|
|
<svrl:ns-prefix-in-attribute-values prefix="gl-bus" uri="http://www.xbrl.org/int/gl/bus/2006-10-25"/>
|
|
<svrl:ns-prefix-in-attribute-values prefix="gl-muc" uri="http://www.xbrl.org/int/gl/muc/2006-10-25"/>
|
|
<svrl:ns-prefix-in-attribute-values prefix="xbrli" uri="http://www.xbrl.org/2003/instance"/>
|
|
<svrl:ns-prefix-in-attribute-values prefix="ds" uri="http://www.w3.org/2000/09/xmldsig#"/>
|
|
<svrl:ns-prefix-in-attribute-values prefix="xades" uri="http://uri.etsi.org/01903/v1.3.2#"/>
|
|
<svrl:ns-prefix-in-attribute-values prefix="edefter" uri="http://www.edefter.gov.tr"/>
|
|
<svrl:ns-prefix-in-attribute-values prefix="fct" uri="localFunctions"/>
|
|
<svrl:ns-prefix-in-attribute-values prefix="defterek" uri="http://www.edefter.gov.tr/ek"/>
|
|
<xsl:sequence select="$schxslt:report"/>
|
|
</svrl:schematron-output>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="text() | @*" mode="#all" priority="-10"/>
|
|
<xsl:template match="/" mode="#all" priority="-10">
|
|
<xsl:apply-templates mode="#current" select="node()"/>
|
|
</xsl:template>
|
|
<xsl:template match="*" mode="#all" priority="-10">
|
|
<xsl:apply-templates mode="#current" select="@*"/>
|
|
<xsl:apply-templates mode="#current" select="node()"/>
|
|
</xsl:template>
|
|
<xsl:template name="d7e42">
|
|
<schxslt:document>
|
|
<schxslt:pattern id="d7e42">
|
|
<xsl:if test="exists(base-uri(root()))">
|
|
<xsl:attribute name="documents" select="base-uri(root())"/>
|
|
</xsl:if>
|
|
<xsl:for-each select="root()">
|
|
<svrl:active-pattern xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="kok" id="kok">
|
|
<xsl:attribute name="documents" select="base-uri(.)"/>
|
|
</svrl:active-pattern>
|
|
</xsl:for-each>
|
|
</schxslt:pattern>
|
|
<schxslt:pattern id="d7e57">
|
|
<xsl:if test="exists(base-uri(root()))">
|
|
<xsl:attribute name="documents" select="base-uri(root())"/>
|
|
</xsl:if>
|
|
<xsl:for-each select="root()">
|
|
<svrl:active-pattern xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="entity" id="entity">
|
|
<xsl:attribute name="documents" select="base-uri(.)"/>
|
|
</svrl:active-pattern>
|
|
</xsl:for-each>
|
|
</schxslt:pattern>
|
|
<schxslt:pattern id="d7e72">
|
|
<xsl:if test="exists(base-uri(root()))">
|
|
<xsl:attribute name="documents" select="base-uri(root())"/>
|
|
</xsl:if>
|
|
<xsl:for-each select="root()">
|
|
<svrl:active-pattern xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="defter" id="defter">
|
|
<xsl:attribute name="documents" select="base-uri(.)"/>
|
|
</svrl:active-pattern>
|
|
</xsl:for-each>
|
|
</schxslt:pattern>
|
|
<schxslt:pattern id="d7e84">
|
|
<xsl:if test="exists(base-uri(root()))">
|
|
<xsl:attribute name="documents" select="base-uri(root())"/>
|
|
</xsl:if>
|
|
<xsl:for-each select="root()">
|
|
<svrl:active-pattern xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
name="signature"
|
|
id="signature">
|
|
<xsl:attribute name="documents" select="base-uri(.)"/>
|
|
</svrl:active-pattern>
|
|
</xsl:for-each>
|
|
</schxslt:pattern>
|
|
<schxslt:pattern id="d7e129">
|
|
<xsl:if test="exists(base-uri(root()))">
|
|
<xsl:attribute name="documents" select="base-uri(root())"/>
|
|
</xsl:if>
|
|
<xsl:for-each select="root()">
|
|
<svrl:active-pattern xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="xbrl" id="xbrl">
|
|
<xsl:attribute name="documents" select="base-uri(.)"/>
|
|
</svrl:active-pattern>
|
|
</xsl:for-each>
|
|
</schxslt:pattern>
|
|
<schxslt:pattern id="d7e154">
|
|
<xsl:if test="exists(base-uri(root()))">
|
|
<xsl:attribute name="documents" select="base-uri(root())"/>
|
|
</xsl:if>
|
|
<xsl:for-each select="root()">
|
|
<svrl:active-pattern xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="measure" id="measure">
|
|
<xsl:attribute name="documents" select="base-uri(.)"/>
|
|
</svrl:active-pattern>
|
|
</xsl:for-each>
|
|
</schxslt:pattern>
|
|
<schxslt:pattern id="d7e189">
|
|
<xsl:if test="exists(base-uri(root()))">
|
|
<xsl:attribute name="documents" select="base-uri(root())"/>
|
|
</xsl:if>
|
|
<xsl:for-each select="root()">
|
|
<svrl:active-pattern xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
name="accountingentries"
|
|
id="accountingentries">
|
|
<xsl:attribute name="documents" select="base-uri(.)"/>
|
|
</svrl:active-pattern>
|
|
</xsl:for-each>
|
|
</schxslt:pattern>
|
|
<schxslt:pattern id="d7e225">
|
|
<xsl:if test="exists(base-uri(root()))">
|
|
<xsl:attribute name="documents" select="base-uri(root())"/>
|
|
</xsl:if>
|
|
<xsl:for-each select="root()">
|
|
<svrl:active-pattern xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
name="documentinfo"
|
|
id="documentinfo">
|
|
<xsl:attribute name="documents" select="base-uri(.)"/>
|
|
</svrl:active-pattern>
|
|
</xsl:for-each>
|
|
</schxslt:pattern>
|
|
<schxslt:pattern id="d7e282">
|
|
<xsl:if test="exists(base-uri(root()))">
|
|
<xsl:attribute name="documents" select="base-uri(root())"/>
|
|
</xsl:if>
|
|
<xsl:for-each select="root()">
|
|
<svrl:active-pattern xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
name="entityinformation"
|
|
id="entityinformation">
|
|
<xsl:attribute name="documents" select="base-uri(.)"/>
|
|
</svrl:active-pattern>
|
|
</xsl:for-each>
|
|
</schxslt:pattern>
|
|
<schxslt:pattern id="d7e399">
|
|
<xsl:if test="exists(base-uri(root()))">
|
|
<xsl:attribute name="documents" select="base-uri(root())"/>
|
|
</xsl:if>
|
|
<xsl:for-each select="root()">
|
|
<svrl:active-pattern xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
name="entryheader"
|
|
id="entryheader">
|
|
<xsl:attribute name="documents" select="base-uri(.)"/>
|
|
</svrl:active-pattern>
|
|
</xsl:for-each>
|
|
</schxslt:pattern>
|
|
<schxslt:pattern id="d7e450">
|
|
<xsl:if test="exists(base-uri(root()))">
|
|
<xsl:attribute name="documents" select="base-uri(root())"/>
|
|
</xsl:if>
|
|
<xsl:for-each select="root()">
|
|
<svrl:active-pattern xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
name="entrydetail"
|
|
id="entrydetail">
|
|
<xsl:attribute name="documents" select="base-uri(.)"/>
|
|
</svrl:active-pattern>
|
|
</xsl:for-each>
|
|
</schxslt:pattern>
|
|
<schxslt:pattern id="d7e549">
|
|
<xsl:if test="exists(base-uri(root()))">
|
|
<xsl:attribute name="documents" select="base-uri(root())"/>
|
|
</xsl:if>
|
|
<xsl:for-each select="root()">
|
|
<svrl:active-pattern xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
name="measurable"
|
|
id="measurable">
|
|
<xsl:attribute name="documents" select="base-uri(.)"/>
|
|
</svrl:active-pattern>
|
|
</xsl:for-each>
|
|
</schxslt:pattern>
|
|
<xsl:apply-templates mode="d7e42" select="root()"/>
|
|
</schxslt:document>
|
|
</xsl:template>
|
|
<xsl:template match="*" priority="19" mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e42']">
|
|
<schxslt:rule pattern="d7e42">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "*" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">*</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e42">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">*</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(not(@decimals) or @decimals = 'INF')">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(@decimals) or @decimals = 'INF'</xsl:attribute>
|
|
<svrl:text>Belge içerisindeki 'decimals' nitelikleri 'INF' değerini almalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e42')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/" priority="18" mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e42']">
|
|
<schxslt:rule pattern="d7e42">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e42">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(edefter:defter)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">edefter:defter</xsl:attribute>
|
|
<svrl:text>Büyük defter dokümanı edefter:defter ana elemanı ile başlamalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e42')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/xbrli:xbrl/xbrli:context/xbrli:entity"
|
|
priority="17"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e57']">
|
|
<schxslt:rule pattern="d7e57">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/xbrli:xbrl/xbrli:context/xbrli:entity" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/xbrli:context/xbrli:entity</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e57">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/xbrli:context/xbrli:entity</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(not(xbrli:segment/gl-bus:numberOfEntries))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(xbrli:segment/gl-bus:numberOfEntries)</xsl:attribute>
|
|
<svrl:text> xbrli:segment/gl-bus:numberOfEntries sadece yevmiye beratında bulunabilir.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(xbrli:segment/gl-cor:uniqueID))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(xbrli:segment/gl-cor:uniqueID)</xsl:attribute>
|
|
<svrl:text>xbrli:segment/gl-cor:uniqueID sadece beratlarda bulunabilir.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(contains($dosyaAdi,concat(xbrli:identifier,'-')))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">contains($dosyaAdi,concat(xbrli:identifier,'-'))</xsl:attribute>
|
|
<svrl:text>Dosya adına yazılan vkn/tckn ile xbrli:identifier elemanına yazılan vkn/tckn aynı olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e57')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter" priority="16" mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e72']">
|
|
<schxslt:rule pattern="d7e72">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e72">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(ds:Signature)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">ds:Signature</xsl:attribute>
|
|
<svrl:text>ds:Signature zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(count(extensions/extension/defterek:binaryObject) = 0 )">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">count(extensions/extension/defterek:binaryObject) = 0 </xsl:attribute>
|
|
<svrl:text>defterek:binaryObject elemanı sadece yevmiye defterinde bulunabilir.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e72')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/ds:Signature" priority="15" mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:variable name="signatureMethodAlgorithm"
|
|
select="ds:SignedInfo/ds:SignatureMethod/@Algorithm"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e84']">
|
|
<schxslt:rule pattern="d7e84">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/ds:Signature" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/ds:Signature</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e84">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/ds:Signature</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(ds:SignedInfo/ds:Reference/ds:Transforms)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">ds:SignedInfo/ds:Reference/ds:Transforms</xsl:attribute>
|
|
<svrl:text>ds:SignedInfo/ds:Reference/ds:Transforms elemanı zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(ds:KeyInfo)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">ds:KeyInfo</xsl:attribute>
|
|
<svrl:text>ds:KeyInfo elemanı zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(ds:KeyInfo) or ds:KeyInfo/ds:X509Data)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(ds:KeyInfo) or ds:KeyInfo/ds:X509Data</xsl:attribute>
|
|
<svrl:text>ds:KeyInfo elemanı içerisindeki ds:X509Data elemanı zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(ds:Object)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">ds:Object</xsl:attribute>
|
|
<svrl:text>ds:Object elemanı zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(ds:Object) or ds:Object/xades:QualifyingProperties/xades:SignedProperties/xades:SignedSignatureProperties/xades:SigningTime)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(ds:Object) or ds:Object/xades:QualifyingProperties/xades:SignedProperties/xades:SignedSignatureProperties/xades:SigningTime</xsl:attribute>
|
|
<svrl:text>xades:SigningTime elemanı zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(ds:Object) or ds:Object/xades:QualifyingProperties/xades:SignedProperties/xades:SignedSignatureProperties/xades:SigningCertificate)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(ds:Object) or ds:Object/xades:QualifyingProperties/xades:SignedProperties/xades:SignedSignatureProperties/xades:SigningCertificate</xsl:attribute>
|
|
<svrl:text>xades:SigningCertificate elemanı zorunlu bir elemandır</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(count(ds:SignedInfo/ds:Reference[@URI = '']) = 1 )">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">count(ds:SignedInfo/ds:Reference[@URI = '']) = 1 </xsl:attribute>
|
|
<svrl:text>ds:SignedInfo elamanı içerisinde URI niteliği boşluğa("") eşit olan sadece bir tane ds:Reference elemanının bulunmaldır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(ends-with($signatureMethodAlgorithm,'sha1')))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(ends-with($signatureMethodAlgorithm,'sha1'))</xsl:attribute>
|
|
<svrl:text>İmzalama işleminde kullanılacak özet(hash) algoritması sha1 olmamalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e84')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/ds:Signature/ds:KeyInfo/ds:X509Data"
|
|
priority="14"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e84']">
|
|
<schxslt:rule pattern="d7e84">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/ds:Signature/ds:KeyInfo/ds:X509Data" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/ds:Signature/ds:KeyInfo/ds:X509Data</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e84">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/ds:Signature/ds:KeyInfo/ds:X509Data</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(ds:X509Certificate)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">ds:X509Certificate</xsl:attribute>
|
|
<svrl:text>ds:X509Data elemanı içerisindeki ds:X509Certificate elemanı zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e84')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/ds:Signature/ds:KeyInfo/ds:X509Data/ds:X509SubjectName"
|
|
priority="13"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e84']">
|
|
<schxslt:rule pattern="d7e84">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/ds:Signature/ds:KeyInfo/ds:X509Data/ds:X509SubjectName" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/ds:Signature/ds:KeyInfo/ds:X509Data/ds:X509SubjectName</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e84">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/ds:Signature/ds:KeyInfo/ds:X509Data/ds:X509SubjectName</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(string-length(normalize-space(.)) != 0 )">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">string-length(normalize-space(.)) != 0 </xsl:attribute>
|
|
<svrl:text> ds:X509SubjectName elemanının değeri boşluk olmamalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e84')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/xbrli:xbrl" priority="12" mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e129']">
|
|
<schxslt:rule pattern="d7e129">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/xbrli:xbrl" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e129">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(count(xbrli:context) = 1 )">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">count(xbrli:context) = 1 </xsl:attribute>
|
|
<svrl:text>xbrli:context zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(count(xbrli:unit) >= 1 )">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">count(xbrli:unit) >= 1 </xsl:attribute>
|
|
<svrl:text>xbrli:unit zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(count(gl-cor:accountingEntries) = 1 )">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">count(gl-cor:accountingEntries) = 1 </xsl:attribute>
|
|
<svrl:text>gl-cor:accountingEntries zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(count(xbrli:unit/xbrli:measure) >= 1 )">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">count(xbrli:unit/xbrli:measure) >= 1 </xsl:attribute>
|
|
<svrl:text>xbrli:measure zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e129')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/xbrli:xbrl/xbrli:context/xbrli:entity/xbrli:identifier"
|
|
priority="11"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e129']">
|
|
<schxslt:rule pattern="d7e129">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/xbrli:xbrl/xbrli:context/xbrli:entity/xbrli:identifier" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/xbrli:context/xbrli:entity/xbrli:identifier</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e129">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/xbrli:context/xbrli:entity/xbrli:identifier</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(matches(normalize-space(.) , '^[0-9]{10,11}$'))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">matches(normalize-space(.) , '^[0-9]{10,11}$')</xsl:attribute>
|
|
<svrl:text>xbrli:identifier elemanına 10 haneli vergi kimlik numarası ve ya 11 haneli TC kimlik numarası yazılmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e129')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/xbrli:xbrl/xbrli:unit/xbrli:measure"
|
|
priority="10"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:variable name="currency" select="substring(.,9)"/>
|
|
<xsl:variable name="currencyCodeList"
|
|
select="',AED,AFN,ALL,AMD,ANG,AOA,ARS,AUD,AWG,AZN,BAM,BBD,BDT,BGN,BHD,BIF,BMD,BND,BOB,BOV,BRL,BSD,BTN,BWP,BYN,BYR,BZD,CAD,CDF,CHE,CHF,CHW,CLF,CLP,CNY,COP,COU,CRC,CUC,CUP,CVE,CZK,DJF,DKK,DOP,DZD,EEK,EGP,ERN,ETB,EUR,FJD,FKP,GBP,GEL,GHS,GIP,GMD,GNF,GTQ,GWP,GYD,HKD,HNL,HRK,HTG,HUF,IDR,ILS,INR,IQD,IRR,ISK,JMD,JOD,JPY,KES,KGS,KHR,KMF,KPW,KRW,KWD,KYD,KZT,LAK,LBP,LKR,LRD,LSL,LTL,LVL,LYD,MAD,MAD,MDL,MGA,MKD,MMK,MNT,MOP,MRO,MUR,MVR,MWK,MXN,MXV,MYR,MZN,NAD,NGN,NIO,NOK,NPR,NZD,OMR,PAB,PEN,PGK,PHP,PKR,PLN,PYG,QAR,RON,RSD,RUB,RWF,SAR,SBD,SCR,SDG,SEK,SGD,SHP,SLL,SOS,SSP,SRD,STD,SVC,SYP,SZL,THB,TJS,TMT,TND,TOP,TRY,TTD,TWD,TZS,UAH,UGX,USD,USN,USS,UYI,UYU,UZS,VEF,VND,VUV,WST,XAF,XAG,XAU,XBA,XBB,XBC,XBD,XCD,XDR,XFU,XOF,XPD,XPF,XPT,XSU,XTS,XUA,XXX,YER,ZAR,ZMK,ZMW,ZWL,'"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e154']">
|
|
<schxslt:rule pattern="d7e154">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/xbrli:xbrl/xbrli:unit/xbrli:measure" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/xbrli:unit/xbrli:measure</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e154">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/xbrli:unit/xbrli:measure</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(not (starts-with(normalize-space(.),'iso4217:')) or contains($currencyCodeList, concat(',',$currency,',')))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not (starts-with(normalize-space(.),'iso4217:')) or contains($currencyCodeList, concat(',',$currency,','))</xsl:attribute>
|
|
<svrl:text>Gecersiz currency degeri: '<xsl:value-of select="$currency"/>'.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(count(parent::node()[contains($currencyCodeList, @id)]) <=1 )">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">count(parent::node()[contains($currencyCodeList, @id)]) <=1 </xsl:attribute>
|
|
<svrl:text>id'si iso4217 multicurrency kodlarından birisi olan en fazla 1 xbrli:unit elemanı olabilir. </svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(parent::node()[contains($currencyCodeList, @id)]) or .= concat('iso4217:',parent::node()/@id) )">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(parent::node()[contains($currencyCodeList, @id)]) or .= concat('iso4217:',parent::node()/@id) </xsl:attribute>
|
|
<svrl:text>xbrli:measure değeri (<xsl:value-of select="."/>) hatalıdır. xbrli:unit id'nin değeri <xsl:value-of select="parent::node()/@id"/> olduğu için xbrli:measure değeri <xsl:value-of select="concat('iso4217:',parent::node()/@id)"/> olmalıdır. </svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(parent::node()[contains($currencyCodeList, @id)]) or not(/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo/gl-muc:defaultCurrency) or not(.= concat('iso4217:',parent::node()/@id)) or /edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo/gl-muc:defaultCurrency=.)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(parent::node()[contains($currencyCodeList, @id)]) or not(/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo/gl-muc:defaultCurrency) or not(.= concat('iso4217:',parent::node()/@id)) or /edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo/gl-muc:defaultCurrency=.</xsl:attribute>
|
|
<svrl:text> gl-muc:defaultCurrency değeri (<xsl:value-of select="/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo/gl-muc:defaultCurrency"/>) hatalıdır. gl-muc:defaultCurrency elemanı varsa değeri xbrli:measure(<xsl:value-of select="."/>) ile aynı olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e154')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries"
|
|
priority="9"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:variable name="accoundMainIdList"
|
|
select="gl-cor:entryHeader/gl-cor:entryDetail[1]/gl-cor:account/normalize-space(gl-cor:accountMainID)"/>
|
|
<xsl:variable name="altHesabiOlmayanAnaHesapListesi"
|
|
select="gl-cor:entryHeader/gl-cor:entryDetail[1]/gl-cor:account[count(gl-cor:accountSub)=0]/normalize-space(gl-cor:accountMainID)"/>
|
|
<xsl:variable name="altHesabiOlmayanAnaHesapSayisi"
|
|
select="count($altHesabiOlmayanAnaHesapListesi)"/>
|
|
<xsl:variable name="farkliAltHesabiOlmayanAnaHesapSayisi"
|
|
select="count(distinct-values($altHesabiOlmayanAnaHesapListesi))"/>
|
|
<xsl:variable name="altHesapListesi"
|
|
select="gl-cor:entryHeader/gl-cor:entryDetail[1]/gl-cor:account/gl-cor:accountSub/normalize-space(gl-cor:accountSubID)"/>
|
|
<xsl:variable name="altHesapSayisi" select="count($altHesapListesi)"/>
|
|
<xsl:variable name="farkliAltHesapSayisi"
|
|
select="count(distinct-values($altHesapListesi))"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e189']">
|
|
<schxslt:rule pattern="d7e189">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e189">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(gl-cor:entityInformation)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-cor:entityInformation</xsl:attribute>
|
|
<svrl:text>gl-cor:entityInformation zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(fct:isSorted($accoundMainIdList))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">fct:isSorted($accoundMainIdList)</xsl:attribute>
|
|
<svrl:text>Büyük defterde hesaplar, ana hesap numarası bazında sıralı olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not($altHesabiOlmayanAnaHesapSayisi = $farkliAltHesabiOlmayanAnaHesapSayisi)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">$altHesabiOlmayanAnaHesapSayisi = $farkliAltHesabiOlmayanAnaHesapSayisi</xsl:attribute>
|
|
<svrl:text>Alt hesabı olmayan aynı hesaplar aynı gl-cor:entryHeader elemanı içerisinde bulunmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not($altHesapSayisi = $farkliAltHesapSayisi)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">$altHesapSayisi = $farkliAltHesapSayisi</xsl:attribute>
|
|
<svrl:text>Aynı alt hesaplar aynı gl-cor:entryHeader elemanı içerisinde bulunmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e189')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo"
|
|
priority="8"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:variable name="donemYilPrdEnd" select="substring(gl-cor:periodCoveredEnd,1,4)"/>
|
|
<xsl:variable name="donemAyPrdEnd" select="substring(gl-cor:periodCoveredEnd,6,2)"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e225']">
|
|
<schxslt:rule pattern="d7e225">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e225">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(gl-cor:entriesType)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-cor:entriesType</xsl:attribute>
|
|
<svrl:text>gl-cor:entriesType zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(normalize-space(gl-cor:entriesType) = 'ledger')">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">normalize-space(gl-cor:entriesType) = 'ledger'</xsl:attribute>
|
|
<svrl:text>gl-cor:entriesType elemanı büyük defter için 'ledger' değerini almalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-cor:uniqueID)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-cor:uniqueID</xsl:attribute>
|
|
<svrl:text>gl-cor:uniqueID zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-cor:uniqueID) or starts-with(normalize-space(gl-cor:uniqueID),'KEB'))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-cor:uniqueID) or starts-with(normalize-space(gl-cor:uniqueID),'KEB')</xsl:attribute>
|
|
<svrl:text>gl-cor:uniqueID elemanı büyük defter için 'KEB' değeri ile başlamalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-cor:uniqueID) or string-length(normalize-space(gl-cor:uniqueID)) = 15)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-cor:uniqueID) or string-length(normalize-space(gl-cor:uniqueID)) = 15</xsl:attribute>
|
|
<svrl:text>gl-cor:uniqueID elemanı 15 karakterden oluşmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-cor:creationDate)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-cor:creationDate</xsl:attribute>
|
|
<svrl:text>gl-cor:creationDate zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-cor:periodCoveredStart)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-cor:periodCoveredStart</xsl:attribute>
|
|
<svrl:text>gl-cor:periodCoveredStart zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-cor:periodCoveredEnd)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-cor:periodCoveredEnd</xsl:attribute>
|
|
<svrl:text>gl-cor:periodCoveredEnd zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-cor:periodCoveredEnd >= gl-cor:periodCoveredStart)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-cor:periodCoveredEnd >= gl-cor:periodCoveredStart</xsl:attribute>
|
|
<svrl:text>gl-cor:periodCoveredEnd elemanı gl-cor:periodCoveredStart elemanından büyük ve ya eşit olmalıdır. </svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-cor:creationDate >= gl-cor:periodCoveredEnd)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-cor:creationDate >= gl-cor:periodCoveredEnd</xsl:attribute>
|
|
<svrl:text>gl-cor:creationDate elemanı gl-cor:periodCoveredEnd elemanından büyük veya eşit olmalıdır. </svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(string-length(normalize-space(gl-bus:sourceApplication)) > 0)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">string-length(normalize-space(gl-bus:sourceApplication)) > 0</xsl:attribute>
|
|
<svrl:text>gl-bus:sourceApplication zorunlu bir elemandır ve değeri boşluk olmamalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(contains($dosyaAdi,concat('-',$donem,'-')))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">contains($dosyaAdi,concat('-',$donem,'-'))</xsl:attribute>
|
|
<svrl:text>Dosya adındaki dönem ile periodCoveredStart'daki dönem bilgisi aynı olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not($donemYil=$donemYilPrdEnd)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">$donemYil=$donemYilPrdEnd</xsl:attribute>
|
|
<svrl:text>gl-cor:periodCoveredStart elemanındaki yıl bilgisi ile periodCoveredEnd elemanındaki yıl bilgisi aynı olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not($donemAy=$donemAyPrdEnd)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">$donemAy=$donemAyPrdEnd</xsl:attribute>
|
|
<svrl:text>gl-cor:periodCoveredStart elemanındaki ay bilgisi ile periodCoveredEnd elemanındaki ay bilgisi aynı olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(contains(gl-cor:uniqueID,concat($donemYil,$donemAy)))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">contains(gl-cor:uniqueID,concat($donemYil,$donemAy))</xsl:attribute>
|
|
<svrl:text>gl-cor:uniqueID elemanındaki dönem bilgisi ile gl-cor:periodCoveredStart elemanındaki dönem bilgisi aynı olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e225')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation"
|
|
priority="7"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:variable name="countKurumUnvani"
|
|
select="count(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Kurum Unvanı'])"/>
|
|
<xsl:variable name="countAdiSoyadi"
|
|
select="count(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Adı Soyadı'])"/>
|
|
<xsl:variable name="countSubeNo"
|
|
select="count(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Şube No'])"/>
|
|
<xsl:variable name="countSubeAdi"
|
|
select="count(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Şube Adı'])"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e282']">
|
|
<schxslt:rule pattern="d7e282">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e282">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(gl-bus:entityPhoneNumber)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:entityPhoneNumber</xsl:attribute>
|
|
<svrl:text>gl-bus:entityPhoneNumber zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:entityEmailAddressStructure)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:entityEmailAddressStructure</xsl:attribute>
|
|
<svrl:text>gl-bus:entityEmailAddressStructure zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(count(gl-bus:organizationIdentifiers) >= 1)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">count(gl-bus:organizationIdentifiers) >= 1</xsl:attribute>
|
|
<svrl:text>gl-bus:organizationIdentifiers zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(string-length($vknTckn) = 10) or count(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Kurum Unvanı']) = 1)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(string-length($vknTckn) = 10) or count(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Kurum Unvanı']) = 1</xsl:attribute>
|
|
<svrl:text>gl-bus:organizationDescription değeri 'Kurum Unvanı' olan bir tane gl-bus:organizationIdentifiers elemanı bulunmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(string-length($vknTckn) = 11) or count(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Adı Soyadı']) = 1)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(string-length($vknTckn) = 11) or count(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Adı Soyadı']) = 1</xsl:attribute>
|
|
<svrl:text>gl-bus:organizationDescription değeri 'Adı Soyadı' olan bir tane gl-bus:organizationIdentifiers elemanı bulunmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(($countKurumUnvani=1 and not($countAdiSoyadi=1)) or ($countAdiSoyadi=1 and not($countKurumUnvani=1)))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">($countKurumUnvani=1 and not($countAdiSoyadi=1)) or ($countAdiSoyadi=1 and not($countKurumUnvani=1))</xsl:attribute>
|
|
<svrl:text>gl-bus:organizationDescription değeri 'Kurum Unvanı' veya 'Adı Soyadı' olan yalnızca bir tane gl-bus:organizationIdentifiers elemanı bulunmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(count(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Kurum Unvanı']) = 1) or string-length(normalize-space(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Kurum Unvanı']/gl-bus:organizationIdentifier)) >=2)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(count(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Kurum Unvanı']) = 1) or string-length(normalize-space(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Kurum Unvanı']/gl-bus:organizationIdentifier)) >=2</xsl:attribute>
|
|
<svrl:text>gl-bus:organizationDescription değeri 'Kurum Unvanı' olan gl-bus:organizationIdentifiers elemanının gl-bus:organizationIdentifier eleman değeri en az iki karakter olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(count(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Adı Soyadı']) = 1) or string-length(normalize-space(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Adı Soyadı']/gl-bus:organizationIdentifier)) >=2)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(count(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Adı Soyadı']) = 1) or string-length(normalize-space(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Adı Soyadı']/gl-bus:organizationIdentifier)) >=2</xsl:attribute>
|
|
<svrl:text>gl-bus:organizationDescription değeri 'Adı Soyadı' olan gl-bus:organizationIdentifiers elemanının gl-bus:organizationIdentifier eleman değeri en az iki karakter olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not((not($countSubeNo = 1) or $countSubeAdi = 1) and (not($countSubeAdi = 1) or $countSubeNo = 1))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">(not($countSubeNo = 1) or $countSubeAdi = 1) and (not($countSubeAdi = 1) or $countSubeNo = 1)</xsl:attribute>
|
|
<svrl:text>Şube no ve şube adı birlikte bulunmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(($countSubeNo < 2) and ($countSubeAdi < 2))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">($countSubeNo < 2) and ($countSubeAdi < 2)</xsl:attribute>
|
|
<svrl:text>Şube no veya şube adı birden fazla olamaz.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not($countSubeNo = 1) or matches(normalize-space(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Şube No']/gl-bus:organizationIdentifier) , '^[0-9]{4}$'))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not($countSubeNo = 1) or matches(normalize-space(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Şube No']/gl-bus:organizationIdentifier) , '^[0-9]{4}$')</xsl:attribute>
|
|
<svrl:text>Şube no 4 haneli sayısal bir değer olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not($countSubeAdi = 1) or string-length(normalize-space(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Şube Adı']/gl-bus:organizationIdentifier)) >= 2)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not($countSubeAdi = 1) or string-length(normalize-space(gl-bus:organizationIdentifiers[gl-bus:organizationDescription = 'Şube Adı']/gl-bus:organizationIdentifier)) >= 2</xsl:attribute>
|
|
<svrl:text>Şube adı değeri en az iki karakter olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:organizationAddress)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:organizationAddress</xsl:attribute>
|
|
<svrl:text>gl-bus:organizationAddress zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-bus:organizationAddress) or gl-bus:organizationAddress/gl-bus:organizationBuildingNumber)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-bus:organizationAddress) or gl-bus:organizationAddress/gl-bus:organizationBuildingNumber</xsl:attribute>
|
|
<svrl:text>gl-bus:organizationAddress elemanı içerisindeki gl-bus:organizationBuildingNumber zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-bus:organizationAddress) or gl-bus:organizationAddress/gl-bus:organizationAddressStreet)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-bus:organizationAddress) or gl-bus:organizationAddress/gl-bus:organizationAddressStreet</xsl:attribute>
|
|
<svrl:text>gl-bus:organizationAddress elemanı içerisindeki gl-bus:organizationAddressStreet zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-bus:organizationAddress) or gl-bus:organizationAddress/gl-bus:organizationAddressCity)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-bus:organizationAddress) or gl-bus:organizationAddress/gl-bus:organizationAddressCity</xsl:attribute>
|
|
<svrl:text>gl-bus:organizationAddress elemanı içerisindeki gl-bus:organizationAddressCity zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-bus:organizationAddress) or gl-bus:organizationAddress/gl-bus:organizationAddressZipOrPostalCode)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-bus:organizationAddress) or gl-bus:organizationAddress/gl-bus:organizationAddressZipOrPostalCode</xsl:attribute>
|
|
<svrl:text>gl-bus:organizationAddress' elemanı içerisindeki 'gl-bus:organizationAddressZipOrPostalCode zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-bus:organizationAddress) or gl-bus:organizationAddress/gl-bus:organizationAddressCountry)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-bus:organizationAddress) or gl-bus:organizationAddress/gl-bus:organizationAddressCountry</xsl:attribute>
|
|
<svrl:text>gl-bus:organizationAddress elemanı içerisindeki gl-bus:organizationAddressCountry zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:entityWebSite)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:entityWebSite</xsl:attribute>
|
|
<svrl:text>gl-bus:entityWebSite zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(string-length(normalize-space(gl-bus:businessDescription)) > 0)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">string-length(normalize-space(gl-bus:businessDescription)) > 0</xsl:attribute>
|
|
<svrl:text>gl-bus:businessDescription zorunlu bir elemandır ve değeri boşluk olmamalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:fiscalYearStart)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:fiscalYearStart</xsl:attribute>
|
|
<svrl:text>gl-bus:fiscalYearStart zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:fiscalYearEnd)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:fiscalYearEnd</xsl:attribute>
|
|
<svrl:text>gl-bus:fiscalYearEnd zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:fiscalYearEnd > gl-bus:fiscalYearStart)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:fiscalYearEnd > gl-bus:fiscalYearStart</xsl:attribute>
|
|
<svrl:text>gl-bus:fiscalYearEnd elemanı gl-bus:fiscalYearStart elemanından büyük olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:accountantInformation)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:accountantInformation</xsl:attribute>
|
|
<svrl:text>gl-bus:accountantInformation zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e282')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:accountantInformation"
|
|
priority="6"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e282']">
|
|
<schxslt:rule pattern="d7e282">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:accountantInformation" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:accountantInformation</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e282">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:accountantInformation</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(string-length(normalize-space(gl-bus:accountantName)) > 0)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">string-length(normalize-space(gl-bus:accountantName)) > 0</xsl:attribute>
|
|
<svrl:text>gl-bus:accountantInformation elemanı içerisindeki gl-bus:accountantName zorunlu bir elemandır ve değeri boşluk olmamalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(string-length(normalize-space(gl-bus:accountantEngagementTypeDescription)) > 0)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">string-length(normalize-space(gl-bus:accountantEngagementTypeDescription)) > 0</xsl:attribute>
|
|
<svrl:text>gl-bus:accountantInformation elemanı içerisindeki gl-bus:accountantEngagementTypeDescription zorunlu bir elemandır ve değeri boşluk olmamalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e282')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:entityPhoneNumber"
|
|
priority="5"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e282']">
|
|
<schxslt:rule pattern="d7e282">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:entityPhoneNumber" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:entityPhoneNumber</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e282">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:entityPhoneNumber</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(string-length(normalize-space(gl-bus:phoneNumber)) > 0)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">string-length(normalize-space(gl-bus:phoneNumber)) > 0</xsl:attribute>
|
|
<svrl:text>gl-bus:phoneNumber zorunlu bir elemandır ve değeri boşluk olmamalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e282')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:entityEmailAddressStructure"
|
|
priority="4"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e282']">
|
|
<schxslt:rule pattern="d7e282">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:entityEmailAddressStructure" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:entityEmailAddressStructure</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e282">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:entityEmailAddressStructure</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(string-length(normalize-space(gl-bus:entityEmailAddress)) > 0)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">string-length(normalize-space(gl-bus:entityEmailAddress)) > 0</xsl:attribute>
|
|
<svrl:text>gl-bus:entityEmailAddressStructure elemanı içerisinde gl-bus:entityEmailAddress zorunlu bir elemandır ve ve değeri boşluk olmamalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e282')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:entityWebSite"
|
|
priority="3"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e282']">
|
|
<schxslt:rule pattern="d7e282">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:entityWebSite" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:entityWebSite</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e282">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entityInformation/gl-bus:entityWebSite</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(gl-bus:webSiteURL)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:webSiteURL</xsl:attribute>
|
|
<svrl:text>gl-bus:entityWebSite elemanı içerisindeki gl-bus:webSiteURL zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e282')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader"
|
|
priority="2"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:variable name="debitToplam"
|
|
select="sum(gl-cor:entryDetail[gl-cor:debitCreditCode = 'D' or gl-cor:debitCreditCode = 'debit']/xs:decimal(gl-cor:amount))"/>
|
|
<xsl:variable name="creditToplam"
|
|
select="sum(gl-cor:entryDetail[gl-cor:debitCreditCode = 'C' or gl-cor:debitCreditCode = 'credit']/xs:decimal(gl-cor:amount))"/>
|
|
<xsl:variable name="farkliAltHesapSayisi"
|
|
select="count(distinct-values(gl-cor:entryDetail/gl-cor:account/gl-cor:accountSub/normalize-space(gl-cor:accountSubID)))"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e399']">
|
|
<schxslt:rule pattern="d7e399">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e399">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(gl-bus:totalDebit)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:totalDebit</xsl:attribute>
|
|
<svrl:text>gl-bus:totalDebit zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:totalCredit)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:totalCredit</xsl:attribute>
|
|
<svrl:text>gl-bus:totalCredit zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(count(gl-cor:entryDetail) > 0)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">count(gl-cor:entryDetail) > 0</xsl:attribute>
|
|
<svrl:text>gl-cor:entryHeader elemanı en az bir gl-cor:entryDetail elemanı içermelidir.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:totalDebit >= 0)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:totalDebit >= 0</xsl:attribute>
|
|
<svrl:text>gl-bus:totalDebit değeri 0 ve ya daha büyük bir değere eşit olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:totalCredit >= 0)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:totalCredit >= 0</xsl:attribute>
|
|
<svrl:text>gl-bus:totalCredit değeri 0 ve ya daha büyük bir değere eşit olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:totalDebit = 0 or gl-bus:totalCredit = 0)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:totalDebit = 0 or gl-bus:totalCredit = 0</xsl:attribute>
|
|
<svrl:text>gl-bus:totalDebit ve gl-bus:totalCredit değerlerinden en az biri 0 olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:totalDebit - gl-bus:totalCredit = $debitToplam - $creditToplam )">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:totalDebit - gl-bus:totalCredit = $debitToplam - $creditToplam </xsl:attribute>
|
|
<svrl:text>gl-bus:totalDebit ile gl-bus:totalCredit değerlerinin farkı, gl-cor:entryDetail elemanı içerisindeki gl-cor:debitCreditCode değeri 'D' ve ya 'debit' olan gl-cor:amount değerlerinin toplamı ile gl-cor:debitCreditCode değeri 'C' ve ya 'credit' olan gl-cor:amount değerlerinin toplamının farkına eşit olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(count(distinct-values(gl-cor:entryDetail/gl-cor:account/normalize-space(gl-cor:accountMainID))) = 1)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">count(distinct-values(gl-cor:entryDetail/gl-cor:account/normalize-space(gl-cor:accountMainID))) = 1</xsl:attribute>
|
|
<svrl:text>Buyuk defter için gl-cor:entryDetail elemanı içersindeki gl-cor:accountMainID değerleri birbirine eşit olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not($farkliAltHesapSayisi = 0 or $farkliAltHesapSayisi = 1)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">$farkliAltHesapSayisi = 0 or $farkliAltHesapSayisi = 1</xsl:attribute>
|
|
<svrl:text>Buyuk defter için gl-cor:entryDetail elemanı içersindeki gl-cor:accountSubID değerleri birbirine eşit olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(matches(normalize-space(gl-bus:totalDebit) , '^[0-9]+(\.[0-9]{1,2})?$'))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">matches(normalize-space(gl-bus:totalDebit) , '^[0-9]+(\.[0-9]{1,2})?$')</xsl:attribute>
|
|
<svrl:text>gl-bus:totalDebit (<xsl:value-of select="gl-bus:totalDebit"/>) virgülden sonra 2 haneden fazla olamaz.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(matches(normalize-space(gl-bus:totalCredit) , '^[0-9]+(\.[0-9]{1,2})?$'))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">matches(normalize-space(gl-bus:totalCredit) , '^[0-9]+(\.[0-9]{1,2})?$')</xsl:attribute>
|
|
<svrl:text>gl-bus:totalCredit (<xsl:value-of select="gl-bus:totalCredit"/>) virgülden sonra 2 haneden fazla olamaz.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e399')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail"
|
|
priority="1"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:variable name="anaHesapId"
|
|
select="gl-cor:account/normalize-space(gl-cor:accountMainID)"/>
|
|
<xsl:variable name="altHesapId"
|
|
select="gl-cor:account/normalize-space(gl-cor:accountSub/gl-cor:accountSubID)"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e450']">
|
|
<schxslt:rule pattern="d7e450">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e450">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(gl-cor:lineNumber)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-cor:lineNumber</xsl:attribute>
|
|
<svrl:text>gl-cor:lineNumber zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-cor:lineNumberCounter)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-cor:lineNumberCounter</xsl:attribute>
|
|
<svrl:text>gl-cor:lineNumberCounter zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(preceding-sibling::node()) or not(preceding-sibling::node()/gl-cor:lineNumberCounter) or not(gl-cor:lineNumberCounter) or xs:decimal(gl-cor:lineNumberCounter) >= max(preceding-sibling::node()/xs:decimal(gl-cor:lineNumberCounter)))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(preceding-sibling::node()) or not(preceding-sibling::node()/gl-cor:lineNumberCounter) or not(gl-cor:lineNumberCounter) or xs:decimal(gl-cor:lineNumberCounter) >= max(preceding-sibling::node()/xs:decimal(gl-cor:lineNumberCounter))</xsl:attribute>
|
|
<svrl:text>gl-cor:entryDetail elemanı içersindeki gl-cor:lineNumberCounter değeri bir önceki gl-cor:entryDetail elemanları içerisindeki gl-cor:lineNumberCounter değerinden büyük ve ya eşit olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-cor:account)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-cor:account</xsl:attribute>
|
|
<svrl:text>gl-cor:account zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-cor:account) or not(gl-cor:account/gl-cor:accountMainID) or string-length(gl-cor:account/normalize-space(gl-cor:accountMainID)) = 3 or string-length(gl-cor:account/normalize-space(gl-cor:accountMainID)) = 4)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-cor:account) or not(gl-cor:account/gl-cor:accountMainID) or string-length(gl-cor:account/normalize-space(gl-cor:accountMainID)) = 3 or string-length(gl-cor:account/normalize-space(gl-cor:accountMainID)) = 4</xsl:attribute>
|
|
<svrl:text>gl-cor:account elemanı içerisinde gl-cor:accountMainID zorunlu bir elemandır ve en az 3 karakter olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-cor:account) or gl-cor:account/gl-cor:accountMainDescription)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-cor:account) or gl-cor:account/gl-cor:accountMainDescription</xsl:attribute>
|
|
<svrl:text>gl-cor:account elemanı içerisinde gl-cor:accountMainDescription zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-cor:account/gl-cor:accountSub) or gl-cor:account/gl-cor:accountSub/gl-cor:accountSubID)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-cor:account/gl-cor:accountSub) or gl-cor:account/gl-cor:accountSub/gl-cor:accountSubID</xsl:attribute>
|
|
<svrl:text>gl-cor:accountSub elemanı içerisinde gl-cor:accountSubID zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-cor:account/gl-cor:accountSub) or gl-cor:account/gl-cor:accountSub/gl-cor:accountSubDescription)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-cor:account/gl-cor:accountSub) or gl-cor:account/gl-cor:accountSub/gl-cor:accountSubDescription</xsl:attribute>
|
|
<svrl:text>gl-cor:accountSub elemanı içerisinde gl-cor:accountSubDescription zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not($anaHesapId) or not($altHesapId) or starts-with($altHesapId, $anaHesapId))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not($anaHesapId) or not($altHesapId) or starts-with($altHesapId, $anaHesapId)</xsl:attribute>
|
|
<svrl:text>gl-cor:accountSubID(alt hesap numarası) elemanı gl-cor:accountMainID(ana hesap numarası) değeri ile başlamalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-cor:amount)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-cor:amount</xsl:attribute>
|
|
<svrl:text>gl-cor:amount zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-cor:amount) or gl-cor:amount > 0)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-cor:amount) or gl-cor:amount > 0</xsl:attribute>
|
|
<svrl:text>gl-cor:amount elemanı 0'dan büyük bir değer almalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-muc:amountCurrency) or /edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo/gl-muc:defaultCurrency)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-muc:amountCurrency) or /edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:documentInfo/gl-muc:defaultCurrency</xsl:attribute>
|
|
<svrl:text>gl-muc:amountCurrency olması durumunda gl-muc:defaultCurrency elemanı da bulunmalıdır </svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-muc:amountOriginalAmount) or gl-muc:amountOriginalExchangeRateDate)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-muc:amountOriginalAmount) or gl-muc:amountOriginalExchangeRateDate</xsl:attribute>
|
|
<svrl:text> gl-muc:amountOriginalAmount elemanı olması durumunda gl-muc:amountOriginalExchangeRateDate elemanı da bulunmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-muc:amountOriginalAmount) or gl-muc:amountOriginalCurrency)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-muc:amountOriginalAmount) or gl-muc:amountOriginalCurrency</xsl:attribute>
|
|
<svrl:text>gl-muc:amountOriginalAmount elemanı olması durumunda gl-muc:amountOriginalCurrency elemanı da bulunmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-muc:amountOriginalCurrency) or gl-muc:amountOriginalExchangeRate)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-muc:amountOriginalCurrency) or gl-muc:amountOriginalExchangeRate</xsl:attribute>
|
|
<svrl:text>gl-muc:amountOriginalCurrency elemanı olması durumunda gl-muc:amountOriginalExchangeRate elemanı da bulunmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-cor:debitCreditCode)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-cor:debitCreditCode</xsl:attribute>
|
|
<svrl:text>gl-cor:debitCreditCode zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-cor:postingDate)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-cor:postingDate</xsl:attribute>
|
|
<svrl:text>gl-cor:postingDate zorunlu bir elemandır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-cor:postingDate) or (gl-cor:postingDate >= $periodCoveredStart and gl-cor:postingDate <= $periodCoveredEnd))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-cor:postingDate) or (gl-cor:postingDate >= $periodCoveredStart and gl-cor:postingDate <= $periodCoveredEnd)</xsl:attribute>
|
|
<svrl:text>gl-cor:postingDate elemanın değeri <xsl:value-of select="$periodCoveredStart"/> ile <xsl:value-of select="$periodCoveredEnd"/> değerleri arasında olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(normalize-space(gl-cor:documentType) = 'other') or string-length(normalize-space(gl-cor:documentTypeDescription)) > 0)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(normalize-space(gl-cor:documentType) = 'other') or string-length(normalize-space(gl-cor:documentTypeDescription)) > 0</xsl:attribute>
|
|
<svrl:text>gl-cor:documentType eleman değerinin 'other' olması durumunda gl-cor:documentTypeDescription zorunlu bir elemandır ve değeri boşluk olmamalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(normalize-space(gl-cor:documentType) = 'other') or (string-length(normalize-space(gl-cor:documentNumber)) > 0 and gl-cor:documentDate))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(normalize-space(gl-cor:documentType) = 'other') or (string-length(normalize-space(gl-cor:documentNumber)) > 0 and gl-cor:documentDate)</xsl:attribute>
|
|
<svrl:text>gl-cor:documentType elemanının değeri 'other' olması durumunda gl-cor:documentNumber ve gl-cor:documentDate elemanları da olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(normalize-space(gl-cor:documentType) = 'invoice') or (string-length(normalize-space(gl-cor:documentNumber)) > 0 and gl-cor:documentDate))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(normalize-space(gl-cor:documentType) = 'invoice') or (string-length(normalize-space(gl-cor:documentNumber)) > 0 and gl-cor:documentDate)</xsl:attribute>
|
|
<svrl:text>gl-cor:documentType elemanının değeri 'invoice' (fatura) olması durumunda gl-cor:documentNumber ve gl-cor:documentDate elemanlarıda olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(normalize-space(gl-cor:documentType) = 'check') or (string-length(normalize-space(gl-cor:documentNumber)) > 0 and gl-cor:documentDate))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(normalize-space(gl-cor:documentType) = 'check') or (string-length(normalize-space(gl-cor:documentNumber)) > 0 and gl-cor:documentDate)</xsl:attribute>
|
|
<svrl:text>gl-cor:documentType elemanının değeri 'check' (çek) olması durumunda gl-cor:documentNumber ve gl-cor:documentDate elemanlarıda olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-cor:documentNumber) or gl-cor:documentType)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-cor:documentNumber) or gl-cor:documentType</xsl:attribute>
|
|
<svrl:text>gl-cor:documentNumber elemanı olması durumunda gl-cor:documentType elemanı bulunmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(not(gl-cor:documentDate) or gl-cor:documentType)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">not(gl-cor:documentDate) or gl-cor:documentType</xsl:attribute>
|
|
<svrl:text>gl-cor:documentDate elemanı olması durumunda gl-cor:documentType elemanı bulunmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(count(gl-bus:measurable) < 2)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">count(gl-bus:measurable) < 2</xsl:attribute>
|
|
<svrl:text>En fazla 1 adet gl-bus:measurable elemanı olabilir.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(matches(normalize-space(gl-cor:amount) , '^[0-9]+(\.[0-9]{1,2})?$'))">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">matches(normalize-space(gl-cor:amount) , '^[0-9]+(\.[0-9]{1,2})?$')</xsl:attribute>
|
|
<svrl:text>gl-cor:amount (<xsl:value-of select="gl-cor:amount"/>) virgülden sonra 2 haneden fazla olamaz.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e450')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:template match="/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail/gl-bus:measurable"
|
|
priority="0"
|
|
mode="d7e42">
|
|
<xsl:param name="schxslt:patterns-matched" as="xs:string*"/>
|
|
<xsl:choose>
|
|
<xsl:when test="$schxslt:patterns-matched[. = 'd7e549']">
|
|
<schxslt:rule pattern="d7e549">
|
|
<xsl:comment xmlns:svrl="http://purl.oclc.org/dsdl/svrl">WARNING: Rule for context "/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail/gl-bus:measurable" shadowed by preceding rule</xsl:comment>
|
|
<svrl:suppressed-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail/gl-bus:measurable</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:suppressed-rule>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="$schxslt:patterns-matched"/>
|
|
</xsl:next-match>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<schxslt:rule pattern="d7e549">
|
|
<svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
|
|
<xsl:attribute name="context">/edefter:defter/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail/gl-bus:measurable</xsl:attribute>
|
|
<xsl:variable name="documentUri" as="xs:anyURI?" select="document-uri()"/>
|
|
<xsl:if test="exists($documentUri)">
|
|
<xsl:attribute name="document" select="$documentUri"/>
|
|
</xsl:if>
|
|
</svrl:fired-rule>
|
|
<xsl:if test="not(gl-bus:measurableCode)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:measurableCode</xsl:attribute>
|
|
<svrl:text>gl-bus:measurableCode elemanı zorunludur.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:measurableCodeDescription)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:measurableCodeDescription</xsl:attribute>
|
|
<svrl:text>gl-bus:measurableCodeDescription elemanı zorunludur.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:measurableQuantity)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:measurableQuantity</xsl:attribute>
|
|
<svrl:text>gl-bus:measurableQuantity elemanı zorunludur.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:measurableQualifier)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:measurableQualifier</xsl:attribute>
|
|
<svrl:text>gl-bus:measurableQualifier elemanı zorunludur.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:measurableUnitOfMeasure)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:measurableUnitOfMeasure</xsl:attribute>
|
|
<svrl:text>gl-bus:measurableUnitOfMeasure elemanı zorunludur.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:measurableCostPerUnit)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:measurableCostPerUnit</xsl:attribute>
|
|
<svrl:text>gl-bus:measurableCostPerUnit elemanı zorunludur.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:measurableCode='NT')">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:measurableCode='NT'</xsl:attribute>
|
|
<svrl:text>gl-bus:measurableCode elemanının değeri "NT" olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:measurableCodeDescription='Maddi Olmayan Kalemler')">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:measurableCodeDescription='Maddi Olmayan Kalemler'</xsl:attribute>
|
|
<svrl:text>gl-bus:measurableCodeDescription elemanının değeri "Maddi Olmayan Kalemler" olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:measurableQualifier='Fon')">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:measurableQualifier='Fon'</xsl:attribute>
|
|
<svrl:text>gl-bus:measurableQualifier elemanının değeri "Fon" olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(gl-bus:measurableUnitOfMeasure='Adet')">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">gl-bus:measurableUnitOfMeasure='Adet'</xsl:attribute>
|
|
<svrl:text>gl-bus:measurableUnitOfMeasure elemanının değeri "Adet" olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
<xsl:if test="not(parent::node()/gl-cor:amount=gl-bus:measurableCostPerUnit*gl-bus:measurableQuantity)">
|
|
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
|
|
location="{schxslt:location(.)}">
|
|
<xsl:attribute name="test">parent::node()/gl-cor:amount=gl-bus:measurableCostPerUnit*gl-bus:measurableQuantity</xsl:attribute>
|
|
<svrl:text> gl-bus:measurableCostPerUnit * gl-bus:measurableQuantity = gl-cor:amount olmalıdır.</svrl:text>
|
|
</svrl:failed-assert>
|
|
</xsl:if>
|
|
</schxslt:rule>
|
|
<xsl:next-match>
|
|
<xsl:with-param name="schxslt:patterns-matched"
|
|
as="xs:string*"
|
|
select="($schxslt:patterns-matched, 'd7e549')"/>
|
|
</xsl:next-match>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
<xsl:function name="schxslt:location" as="xs:string">
|
|
<xsl:param name="node" as="node()"/>
|
|
<xsl:variable name="segments" as="xs:string*">
|
|
<xsl:for-each select="($node/ancestor-or-self::node())">
|
|
<xsl:variable name="position">
|
|
<xsl:number level="single"/>
|
|
</xsl:variable>
|
|
<xsl:choose>
|
|
<xsl:when test=". instance of element()">
|
|
<xsl:value-of select="concat('Q{', namespace-uri(.), '}', local-name(.), '[', $position, ']')"/>
|
|
</xsl:when>
|
|
<xsl:when test=". instance of attribute()">
|
|
<xsl:value-of select="concat('@Q{', namespace-uri(.), '}', local-name(.))"/>
|
|
</xsl:when>
|
|
<xsl:when test=". instance of processing-instruction()">
|
|
<xsl:value-of select="concat('processing-instruction("', name(.), '")[', $position, ']')"/>
|
|
</xsl:when>
|
|
<xsl:when test=". instance of comment()">
|
|
<xsl:value-of select="concat('comment()[', $position, ']')"/>
|
|
</xsl:when>
|
|
<xsl:when test=". instance of text()">
|
|
<xsl:value-of select="concat('text()[', $position, ']')"/>
|
|
</xsl:when>
|
|
<xsl:otherwise/>
|
|
</xsl:choose>
|
|
</xsl:for-each>
|
|
</xsl:variable>
|
|
<xsl:value-of select="concat('/', string-join($segments, '/'))"/>
|
|
</xsl:function>
|
|
</xsl:transform>
|