【发布时间】:2016-09-16 14:56:52
【问题描述】:
这是一个示例 sn-p,显示元素的架构定义格式:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.1">
<xs:include schemaLocation="enumerations_schema.xsd"/>
<xs:element name="xml_details" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="xml_element_1" minOccurs="0"/>
<xs:element name="xml_element_3" type="xs:string" minOccurs="0"/>
<xs:element name="xml_element_4" type="xs:decimal" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="data_details" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="data_element_1" minOccurs="0">
<xs:annotation>
<xs:documentation>Lorem ipsum</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="date" type="xs:date"/>
<xs:attribute name="as_of_date" type="xs:date"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="data_element_2" type="xs:decimal" minOccurs="0">
<xs:annotation>
<xs:documentation>Lorem ipsum</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="data_element_3" type="xs:decimal" minOccurs="0"/>
<xs:element name="data_element_4" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="Enumeration_1">
<xs:attribute name="type" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="data_element_5" type="xs:string" minOccurs="0"/>
<xs:element name="data_element_6" type="xs:decimal" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
如您所见,有两个父元素(xml_details 和 data_details)有多个子元素。我的问题是如何使用 XSLT 仅获取子元素名称(叶节点)?输出看起来像这样:
xml_element_1
xml_element_3
xml_element_4
data_element_1
data_element_2
data_element_3
data_element_4
data_element_5
data_element_6
【问题讨论】:
标签: xml xslt xsd xml-parsing