Xslt 在应用模板中保留不匹配的节点
我要求仅当另一个字段(存款值)不为空时,才根据字段(帐户)对记录进行排序。我能够做到这一点,但我当前的xslt正在删除应用模板中不匹配的节点。在这种情况下,我们怎么能一直保持其他一切不变呢。对于某些员工来说,要排序的记录(DirectDeposit)可能并不总是存在 我已经在分类方面取得了进展 XSLT:Xslt 在应用模板中保留不匹配的节点,xslt,xslt-1.0,Xslt,Xslt 1.0,我要求仅当另一个字段(存款值)不为空时,才根据字段(帐户)对记录进行排序。我能够做到这一点,但我当前的xslt正在删除应用模板中不匹配的节点。在这种情况下,我们怎么能一直保持其他一切不变呢。对于某些员工来说,要排序的记录(DirectDeposit)可能并不总是存在 我已经在分类方面取得了进展 XSLT: 实际结果:(员工标题已消失) 直接存款 2018-07-13T19:46:58.000Z 1985-04-09 2. 200 直接存款 2018-07-13T19:46:58.000Z
实际结果:(员工标题已消失)
直接存款
2018-07-13T19:46:58.000Z
1985-04-09
2.
200
直接存款
2018-07-13T19:46:58.000Z
1985-04-09
3.
100
直接存款
2018-07-13T19:46:58.000Z
1985-04-09
1.
预期:
<?xml version="1.0"?>
<Hire>
<Employee>
<Header>
<action/>
<created_by/>
<created_on_timestamp>2018-07-
13T19:46:58.000Z</created_on_timestamp>
<date_of_birth>1985-04-09</date_of_birth>
<AdditionalElements/>
</Header>
<DirectDeposit>
<action>DirectDeposit</action>
<created_by/>
<created_on_timestamp>2018-07-
13T19:46:58.000Z</created_on_timestamp>
<date_of_birth>1985-04-09</date_of_birth>
<account>2</account>
<depositvalue>200</depositvalue>
</DirectDeposit>
<DirectDeposit>
<action>DirectDeposit</action>
<created_by/>
<created_on_timestamp>2018-07-13T19:46:58.000Z</created_on_timestamp>
<date_of_birth>1985-04-09</date_of_birth>
<account>3</account>
<depositvalue>100</depositvalue>
</DirectDeposit>
<DirectDeposit>
<action>DirectDeposit</action>
<created_by/>
<created_on_timestamp>2018-07-13T19:46:58.000Z</created_on_timestamp>
<date_of_birth>1985-04-09</date_of_birth>
<account>1</account>
<depositvalue/>
</DirectDeposit>
</Employee>
<Employee/>
2018-07-
13T19:46:58.000Z
1985-04-09
直接存款
2018-07-
13T19:46:58.000Z
1985-04-09
2.
200
直接存款
2018-07-13T19:46:58.000Z
1985-04-09
3.
100
直接存款
2018-07-13T19:46:58.000Z
1985-04-09
1.
添加
到您的
match=“Employee”
模板。如果不处理Header元素,它将不会被处理,因此将从输出中消失。如果需要Header,则在其他2个xsl:apply templates
说明之前添加
。这是一个猜测,因为我没有看到你的输入。
<?xml version="1.0"?>
<Hire>
<Employee>
<DirectDeposit>
<action>DirectDeposit</action>
<created_by/>
<created_on_timestamp>2018-07-13T19:46:58.000Z</created_on_timestamp>
<date_of_birth>1985-04-09</date_of_birth>
<account>2</account>
<depositvalue>200</depositvalue>
</DirectDeposit>
<DirectDeposit>
<action>DirectDeposit</action>
<created_by/>
<created_on_timestamp>2018-07-13T19:46:58.000Z</created_on_timestamp>
<date_of_birth>1985-04-09</date_of_birth>
<account>3</account>
<depositvalue>100</depositvalue>
</DirectDeposit>
<DirectDeposit>
<action>DirectDeposit</action>
<created_by/>
<created_on_timestamp>2018-07-13T19:46:58.000Z</created_on_timestamp>
<date_of_birth>1985-04-09</date_of_birth>
<account>1</account>
<depositvalue/>
</DirectDeposit>
</Employee>
<Employee/>
</Hire>
<?xml version="1.0"?>
<Hire>
<Employee>
<Header>
<action/>
<created_by/>
<created_on_timestamp>2018-07-
13T19:46:58.000Z</created_on_timestamp>
<date_of_birth>1985-04-09</date_of_birth>
<AdditionalElements/>
</Header>
<DirectDeposit>
<action>DirectDeposit</action>
<created_by/>
<created_on_timestamp>2018-07-
13T19:46:58.000Z</created_on_timestamp>
<date_of_birth>1985-04-09</date_of_birth>
<account>2</account>
<depositvalue>200</depositvalue>
</DirectDeposit>
<DirectDeposit>
<action>DirectDeposit</action>
<created_by/>
<created_on_timestamp>2018-07-13T19:46:58.000Z</created_on_timestamp>
<date_of_birth>1985-04-09</date_of_birth>
<account>3</account>
<depositvalue>100</depositvalue>
</DirectDeposit>
<DirectDeposit>
<action>DirectDeposit</action>
<created_by/>
<created_on_timestamp>2018-07-13T19:46:58.000Z</created_on_timestamp>
<date_of_birth>1985-04-09</date_of_birth>
<account>1</account>
<depositvalue/>
</DirectDeposit>
</Employee>
<Employee/>