Я хочу, чтобы создать плоский файл из XML с помощью XSLT с этим выходом в порядке, как показано ниже:Необходимость индивидуального заказа в плоский файл из XML с помощью XSLT
NM1 * CC * 1 * Smith * John *** * 34 * 999999999 ~
N3 * 100 Main Street ~
из этого XML:
<Claim>
<Claimant
lastName="Smith"
firstName="John"
middleName=""
suffixName=""
indentificationCodeQualifier="34"
identificationCode="999999999">
<ClaimantStreetLocation
primary="100 Main Street"
secondary=""/>
</Claimant>
</Claim>
с XSLT, я создал я получаю выход в обратном желаемом порядке, как показано ниже, в связи с характером как XSLT работает, когда он обходит дерево ввода, которое я принимаю:
N3 * 100 Main Street ~
NM1 * CC * 1 * Smith * John **** 34 * 999999999 ~
Что мне нужно изменить/добавить, чтобы получить заказ, я ищу, чтобы XSLT я написал, как показано ниже: `
<xsl:template match="Claim/Claimant">
<xsl:apply-templates />
<xsl:text>NM1*CC*1*</xsl:text>
<xsl:value-of select="@lastName" />
<xsl:text>*</xsl:text>
<xsl:value-of select="@firstName" />
<xsl:text>*</xsl:text>
<xsl:value-of select="@middleName" />
<xsl:text>*</xsl:text>
<xsl:text>*</xsl:text>
<xsl:value-of select="@suffixName" />
<xsl:text>*</xsl:text>
<xsl:value-of select="@indentificationCodeQualifier" />
<xsl:text>*</xsl:text>
<xsl:value-of select="@identificationCode" />
<xsl:text>~</xsl:text>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="Claim/Claimant/ClaimantStreetLocation">
<xsl:apply-templates />
<xsl:text>N3*</xsl:text>
<xsl:value-of select="@primary" />
<xsl:text>~</xsl:text>
<xsl:text>
</xsl:text>
</xsl:template>`
есть ли способ сделать это без объединения двух тегов в один?
Любая обратная связь будет оценена по достоинству.
Я не знаю, имеет ли значение, но я использую xalan-java для обработки xslt в коде.
Thank you Shrein! Это сработало. Но как перемещается в нижней части родителя, заставляя родителя запускаться первым. Должен ли я называть теги , если мне нужна новая строка, которая появится после шаблона ClaimantStreetLocation? –
user2382922
Добавлено объяснение ответа. Надеюсь, поможет. – Shrein
Это имеет смысл. Спасибо за объяснение Шрейна! – user2382922