E-Fatura Xslt Belirli bir yere kadar yazıyı alma Substring

Xslt bazen gelen verinin bir bölümünü almanız gerekir bu tarz durumlarda substring function ununu kullanırız biz irsaliyeden gelen notlar alanın belirli alanları alacağımız örnek aşağıdadır

<xsl:for-each select="//n1:DespatchAdvice/cbc:Note[3]">									 
	<xsl:value-of select="substring-before(substring(.,0,21),'#')"/>	
</xsl:for-each>	</td>

Burada Not3 alanında gelen verilerin # işaretinden önce ilk karaterden başlayıp 21 inci karaktere kadar almasını sağladım

<xsl:for-each select="//n1:DespatchAdvice/cbc:Note[3]">									 
				<xsl:value-of select="substring-before(substring(.,43,21),'#')"/>	
</xsl:for-each>	</td>

Burada Not3 alanında gelen verilerin # işaretinden önce 43 üncü karakterden başlayıp sonra 21 karaktere kadar almasını sağladım

E-Fatura Dizayn Profil Tipi

E-Fatura , E-Arşiv faturayı tek bir dizayn dosyası üzerinden çalıştırabilirsin

tabiki faturanın tipinin olduğunu belirten yazıyı ise xml data dan alarak bu işlemi tamamlaya biliriz

Faturanın ProfilID si e-fatura mı yoksa arşivmi bulabilmek için aşağıdaki kodu kullanabilirsiniz

<xsl:if test="n1:Invoice/cbc:ProfileID = 'EARSIVFATURA'">e-Arşiv Fatura</xsl:if>	
<xsl:if test="n1:Invoice/cbc:ProfileID != 'EARSIVFATURA'">e-Fatura</xsl:if>	

E-Arşiv Faturanın ProfilID si ‘EARSIVFATURA’ dir buna eşit gelenler anlıyoruz ki arşiv fatura

diğer profil tipleri ise E-Fatura dır. bunun için cbc:ProfileID != ‘EARSIVFATURA'” formülünü kullanıyoruz yani profilID eşit değildir EARSIVFATURA