'daki farklı bir belgeden nasıl değerler alabilirim? İki XML dosyasını XSLT Sürüm 1.0 ile birleştirmem gerekiyor. Benim Sorunum, 2. XML dosyasının Niteliklerini ilk dosyanın Özniteliklerine eklemem gerektiğidir. Sorunumu açıklığa kavuşturmak için size bir örnek vereyim.XSLT
xml1:
<sample>
<tag a="1" b="2" c="3" d="4" />
<tag a="2" b="3" c="4" d="5" />
</sample>
XML2:
<sample>
<tag e="5" f="6" g="7" />
<tag e="10" f="12" g="11" />
</sample>
Çıktı:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ws="http://www.w3schools.com">
<xsl:template match="/">
<xsl:for-each select="sample/tag">
<tag>
<xsl:attribute name="a"><xsl:value-of select="@a"/></xsl:attribute>
<xsl:attribute name="b"><xsl:value-of select="@b"/></xsl:attribute>
<xsl:attribute name="c"><xsl:value-of select="@c"/></xsl:attribute>
<xsl:attribute name="d"><xsl:value-of select="@d"/></xsl:attribute>
<xsl:attribute name="e"><xsl:value-of select="document('xml2.xml')//@e"/></xsl:attribute>
<xsl:attribute name="f"><xsl:value-of select="document('xml2.xml')//@f"/></xsl:attribute>
<xsl:attribute name="g"><xsl:value-of select="document('xml2.xml')//@g"/></xsl:attribute>
<tag>
</xsl:for-each>
</xbrl>
</xsl:template>
</xsl:stylesheet>
:
<sample>
<tag a="1" b="2" c="3" d="4" e="5" f="6" g="7" />
<tag a="2" b="3" c="4" d="5" e="10" f="12" g="11" />
</sample>
Bunun için XSLT'de aşağıdaki çalıştı
Ancak, 2. XML Dosyasının yalnızca ilk satırını aldım. Benim çıkışım:
<sample>
<tag a="1" b="2" c="3" d="4" e="5" f="6" g="7" />
<tag a="2" b="3" c="4" d="5" e="5" f="6" g="7" />
</sample>
Umarım bu konuda bana yardımcı olabilirsiniz. Ben XSLT için tamamen yeni. tag
elemana ekstra özellikler eklemek için,
teşekkürler. 'ı önlemek için herhangi bir şans var mı? Gerçekten büyük XML dosyaları için kullanıyorum ve yavaş yavaş çok fazla. Ama XSLT oldukça iyi çalışıyor. –
tingelcore
Nasıl zx485'in cevabına bakınız. Açık bir ' 'olduğunu unutmayın. Bu gereklidir çünkü aksi takdirde 'position(), beyaz boşluk düğümlerinden veya' sample 'altındaki diğer elemanlardan etkilenir. –