XSLT 1.0を使用してXMLの要素の順序を変更しようとしています。以下はXMLの小さなスニペットですXML要素の並べ替えが機能しないXSLT
<RIMSDB1 xmlns="http://kiris.nps21.org/xsd">
<ROW>
<ReportID>1</ReportID>
<WKYMD>20160610</WKYMD>
<RunSystemDate>20160610032048</RunSystemDate>
</ROW>
<ROW>
<ReportID>2</ReportID>
<WKYMD>27869</WKYMD>
<RunSystemDate>495876043985778649</RunSystemDate>
</ROW>
これは私がそれを変換するために使用しているXSLTです。私は私が順番に変化を取得していないが、私は、私は正しい変換を、取得
<RIMSDB1 xmlns="http://kiris.nps21.org/xsd">
から=「http://kiris.nps21.org/xsd」のxmlnsを削除する変換時に
<xsl:template match="*/ROW">
<xsl:copy>
<xsl:apply-templates select="@*" />
<xsl:apply-templates select="WKYMD" />
<xsl:apply-templates select="RunSystemDate" />
<xsl:apply-templates select="ReportID" />
</xsl:copy>
問題があります次のとおりです。
<RIMSDB1>
<ROW>
<WKYMD>20160610</WKYMD>
<RunSystemDate>20160610032048</RunSystemDate>
<ReportID>1</ReportID>
</ROW>
<ROW>
<WKYMD>27869</WKYMD>
<RunSystemDate>495876043985778649</RunSystemDate>
<ReportID>2</ReportID>
</ROW>
再注文する方が良い場合は、誰でも何が起こっているのかを明らかにすることができます。
ありがとうございます。
。 ' \t \t \t \t例えば、親と子の両方のタグで名前空間にこれを処理するにはどうすればよいです\t \t \t \t \t \t \t \t 20160610032048 RunSystemDate> \t \t
\t \t \t \t \t \t \t \t \t \t \t 495876043985778649 RunSystemDate> \t \t
\t EDDP_CSI_ADJPORTINVEST_HSTY> ' –
その例では、要素のウィットh xmlns = ""はネームスペースなし "に置かれています。そして、それとその子孫はdocument要素で宣言された名前空間にありません。 "名前空間なし"の場合は、選択/一致式に名前空間接頭辞を使用しません。 –
入力が標準ではなく、要素がバインドされる/どの名前空間にバインドされているかわからない場合は、local-name()を気にするより一般的な一致式を使用することができます。 uri()。例えば、* [local-name()= 'WKYMD'] –