2017-09-05 17 views
0

XSLTを使用してxmlファイルをcsvファイルに変換しました。XMLを変換できません。<ns0:

しかし、ここで、私はNS0 :, NS1:などで技術的な問題をしました...

私は今、私のXSLはこれに似ているXSLT/XML

で初心者です1:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
      xmlns:ns0="http://www.tibco.com/XSD/1.0" 
      xmlns:ns1="http://www.42site.com/ship/5.0"> 
<xsl:output method="text" /> 

    <xsl:template match="/"> 
     <xsl:text>Day,Month,Year</xsl:text> 
     <xsl:text>&#xa;</xsl:text> 
     <xsl:apply-templates select="ns0:parameters"/>  
    </xsl:template> 

    <xsl:template match="ns0:parameters"> 
     <xsl:apply-templates select="ns1:Get/info"/> 
     <xsl:text>&#xa;</xsl:text> 
    </xsl:template> 

    <xsl:template match="info"> 
     <xsl:value-of select="Day"/> 
     <xsl:text>,</xsl:text> 
     <xsl:value-of select="Month"/> 
     <xsl:text>,</xsl:text> 
     <xsl:value-of select="Year"/> 
    </xsl:template> 

</xsl:stylesheet> 

と私は、XMLのこの種のために、このスタイルシートを使用:あなたが想像できるように

<?xml version="1.0" encoding="UTF-8"?> 
    <ns0:parameters xmlns:ns0="http://www.tibco.com/XSD/1.0"> 
     <ns1:Get xmlns:ns1="http://www.42site.com/ship/5.0"> 
      <info> 
       <Day>31</Day> 
       <Month>01</Month> 
       <Year>2000</Year> 
      </info> 
     </ns1:Get> 
    </ns0:parameters> 

、私はtは動作しません、結果は以下の通りです:

day,month,year 

と私はこの期待:

day,month,year 
31,01,2000 

を私は今、このエラーを持っている:

rulestest.xsl:2:97: The prefix "xsl" for element "xsl:stylesheet" is not bound. 

おかげで私の悪い英語のため申し訳ありません。

PS:私の最後の投稿は既存の質問としてマークされていますが、解決策が見つかりません。

+0

ご質問のXMLは、使用しているものとまったく同じですか?あるいは、あなたの実際のXMLは 'xmlns:ns0 =" http:// .... "'という形式の名前空間宣言を持っていますか?これらの宣言がある場合は、質問を編集して表示する必要があります。そうでなければ、それは有効なXMLではないので、XSLTを使用することはできません。 –

+0

ご回答いただきありがとうございます。投稿を編集しました –

答えて

2

あなたの以前の質問は質問Add additional namespace with XSLTの複製として閉じられました。これはちょうど

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
       xmlns:ns0="http://www.tibco.com/XSD/1.0" 
       xmlns:ns1="http://www.42site.com/ship/5.0"> 

http://xsltransform.net/ehVYZNyのアクションでそれを参照してくださいあなたのxsl:stylesheetノードにns0ns1の宣言を追加することを意味し、だから... ...最初の文が言うように、答えが含まれている

First you need to declare the various namespaces in your stylesheet...

を行います

現在のXSLTでは、実際にはエラーが発生しているはずです。Prefix must resolve to a namespace: ns0

+0

xsl:stylesheetのプレフィックスはバインドされていません。プレフィックスエラーがありました。ライブテストリンクありがとうございます。 –

+1

あなたの質問に何か間違いをつけてください。ありがとう! –

関連する問題