2016-08-15 7 views
0

私はsaxonee-sqlを使用してデータベースに接続しています。どのように私はこのような出力XMLファイル作るのです:使用時に<xsl:attribute>を使用して要素を作成する方法<sql:query>

<Partners> 
    <Partner type="Supplier"> 
      <PartnerName>name 1</PartnerName> 
      <PartnerDuns>duns 1</PartnerDuns> 
    </Partner> 
    <Partner type="Buyer"> 
      <PartnerName>name 2</PartnerName> 
      <PartnerDuns>dums 2</PartnerDuns> 
    </Partner> 
</Partners> 

をそして、これは、XSLTです:

<xsl:variable name="partner"> 
    <sql:query connection="$connection" table="Partner" column="PartnerDuns,PartnerName,type" row-tag="Partner" /> 
</xsl:variable> 
<Partners> 
    <xsl:copy-of select="$partner" /> 
</Partners> 

出力電流は、私はあなたが単に元を変換することができたと

<Partners> 
    <Partner> 
      <PartnerName>name 1</PartnerName> 
      <PartnerDuns>duns 1</PartnerDuns> 
      <type>Supplier</type> 
    </Partner> 
    <Partner> 
      <PartnerName>name 2</PartnerName> 
      <PartnerDuns>dums 2</PartnerDuns> 
      <type>Buyer</type> 
    </Partner> 
</Partners> 
+2

'と表示されている質問を編集してください。 –

+0

質問を更新します –

答えて

1

です結果は、例えば

<xsl:template match="Partner/*"> 
    <xsl:copy-of select="."/> 
</xsl:template> 

<xsl:template match="Partner/type"> 
    <xsl:attribute name="{name()}" select="."/> 
</xsl:template> 

<xsl:template match="Partner"> 
    <xsl:copy> 
    <xsl:apply-templates select="type, (* except type)"/> 
    </xsl:copy> 
</xsl:template> 

、次いで代わりcopy-of

<xsl:variable name="partner"> 
    <sql:query connection="$connection" table="Partner" column="PartnerDuns,PartnerName,type" row-tag="Partner" /> 
</xsl:variable> 
<Partners> 
    <xsl:apply-templates select="$partner/*" /> 
</Partners> 

を使用します。

関連する問題