0
(ネストされたタグを持つ)XSLを使用して
私はそれがSolrので受け入れることができるように、次の形式に変換したい
<?xml version='1.0' encoding='utf-8'?>
<HL7Message>
<MSH>
<MSH.1>|</MSH.1>
<MSH.2>^~\&</MSH.2>
<MSH.3>
<MSH.3.1>ST01</MSH.3.1>
</MSH.3>
<MSH.4>
<MSH.4.1>A</MSH.4.1>
</MSH.4>
<MSH.5>
<MSH.5.1>HC</MSH.5.1>
<MSH.5.2>HC2</MSH.5.2>
</MSH.5>
</MSH>
</HL7Message>
をXMLを
変換
<add>
<doc>
<field name="MSH.1">|</field>
<field name="MSH.2">^~\&</field>
<field name="MSH.3.1">ST01</field>
<field name="MSH.4.1">A</field>
<field name="MSH.5.1">HC</field>
<field name="MSH.5.2">HC2</field>
</doc>
</add>
今、私は
<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="utf-8" indent="yes"/>
<xsl:strip-space elements="*" />
<xsl:template match="MSH">
<add><doc>
<xsl:apply-templates select="MSH"/>
<xsl:for-each select="*">
<xsl:element name="field">
<xsl:attribute name="name"><xsl:value-of select="node()"/</xsl:attribute>
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</doc></add>
</xsl:template>
</xsl:stylesheet>
...以下のように1つのXSLTを作成しましたが、それは今の形式を以下に変換します。..
<add>
<doc>
<field name="MSH.1">|</field>
<field name="MSH.2">^~\&</field>
<field name="MSH.3">ST01</field>
<field name="MSH.4">A</field>
***<field name="MSH.5">HCHC2</field>***
</doc>
</add>
我々は
誰が助けるか、私は間違いを犯しています私を導くことができるならば、それは非常に高く評価されるだろう。.. MSH 5.1とMSH 5.2は、私が期待してい以外である組み合わせなっている見ることができるように.. 前もって感謝します。
(私も
@name
属性を作成する属性値テンプレートを簡略化している)、このXSLTを試してみてください。私は本当に助けに感謝します。 – Prashant