ネームスペースに関するXSLT変換に関するヘルプが必要です
-
09-12-2019 - |
質問
XSLT変換に取り組んでいます。私は一点に立ち往生しています。
ソースXML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Content xmlns="uuid:4522eb85-0a47-45f9-8e2b-1f82c78fa920">
<first xmlns="uuid:4522eb85-0a47-45f9-8e2b-1f82c78fa920">Hello World.This is Fisrt field</first>
<second xmlns="uuid:4522eb85-0a47-45f9-8e2b-1f82c78fa920">Hello World.This is second field2</second>
</Content>
.
出力フォーマットが必要:
<aaa>Hello World.This is Fisrt field</aaa>
<bbb>Hello World.This is second field</bbb>
.
これの解決策を提案してください。
私はこれを試してみました
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="uuid:4522eb85-0a47-45f9-8e2b-1f82c78fa920">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<aaa>
<xsl:value-of select="Content/first"/>
</aaa>
</xsl:template>
</xsl:stylesheet>
.
出力が
<?xml version="1.0" encoding="utf-8"?>
<aaa xmlns="uuid:4522eb85-0a47-45f9-8e2b-1f82c78fa920"></aaa>
.
出力が必要です
<aaa>Hello World.This is Fisrt field</aaa>
. 解決
あなたが欲しいものを行うものは、次のようなコメントを見てください。
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:x="uuid:4522eb85-0a47-45f9-8e2b-1f82c78fa920">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:element name="root">
<xsl:element name="aaa">
<xsl:value-of select="x:Content/x:first"/>
</xsl:element>
<xsl:element name="bbb">
<xsl:value-of select="x:Content/x:second"/>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
.
特定のXSLTプロセッサでは、結果に複数のルート要素を持つことができますが、これは標準と構文的に矛盾するため、推奨されません。
所属していません StackOverflow