I have the following:
<xs:schema>
<xs:complexType name="NameType">
<xs:sequence>
<xs:element name="NamePrefix" type="core:NamePrefixType" minOccurs="0"/>
<xs:element name="FirstName" type="core:FirstNameType" minOccurs="0"/>
<xs:element name="MiddleName" type="core:MiddleNameType" minOccurs="0" maxOccurs="10"/>
<xs:element name="LastName" type="core:LastNameType" minOccurs="0"/>
<xs:element name="NameSuffix" type="core:NameSuffixType" minOccurs="0"/>
<xs:element name="NameTitle" type="core:NameTitleType" minOccurs="0"/>
<xs:element name="CompositeName" type="core:CompositeNameType" minOccurs="0"/>
<xs:element name="NoteMessage" type="core:NoteMessageType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="NamePrefixType"/>
<xs:simpleType name="FirstNameType"/>
<xs:simpleType name="MiddleNameType"/>
<xs:simpleType name="LastNameType"/>
<xs:simpleType name="NameSuffixType"/>
<xs:simpleType name="NameTitleType"/>
<xs:simpleType name="CompositeNameType"/>
<xs:simpleType name="NoteMessageType"/>
<xs:complexType name="NameType">
<xs:sequence>
<xs:element name="NamePrefix" type="core:NamePrefixType" minOccurs="0"/>
<xs:element name="FirstName" type="core:FirstNameType" minOccurs="0"/>
<xs:element name="MiddleName" type="core:MiddleNameType" minOccurs="0" maxOccurs="10"/>
<xs:element name="LastName" type="core:LastNameType" minOccurs="0"/>
<xs:element name="NameSuffix" type="core:NameSuffixType" minOccurs="0"/>
<xs:element name="NameTitle" type="core:NameTitleType" minOccurs="0"/>
<xs:element name="CompositeName" type="core:CompositeNameType" minOccurs="0"/>
<xs:element name="NoteMessage" type="core:NoteMessageType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="NamePrefixType"/>
<xs:simpleType name="FirstNameType"/>
<xs:simpleType name="MiddleNameType"/>
<xs:simpleType name="LastNameType"/>
<xs:simpleType name="NameSuffixType"/>
<xs:simpleType name="NameTitleType"/>
<xs:simpleType name="CompositeNameType"/>
<xs:simpleType name="NoteMessageType"/>
How can I integrate duplicate node handling based on the following xsl:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="core AcRec">
<xsl:template match="/xs:schema">
<xsl:copy>
<xsl:apply-templates />
<xsl:copy-of select="//xs:simpleType" />
</xsl:copy>
</xsl:template>
<xsl:template match="*[name()!='xs:simpleType' and name()!='xs:schema']">
<xsl:copy>
<xsl:apply-templates select="*|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@*">
<xsl:copy-of select="." />
</xsl:template>
</xsl:stylesheet>
Expected output:
<xs:schema>
<xs:complexType name="NameType">
<xs:sequence>
<xs:element name="NamePrefix" type="core:NamePrefixType" minOccurs="0"/>
<xs:element name="FirstName" type="core:FirstNameType" minOccurs="0"/>
<xs:element name="MiddleName" type="core:MiddleNameType" minOccurs="0" maxOccurs="10"/>
<xs:element name="LastName" type="core:LastNameType" minOccurs="0"/>
<xs:element name="NameSuffix" type="core:NameSuffixType" minOccurs="0"/>
<xs:element name="NameTitle" type="core:NameTitleType" minOccurs="0"/>
<xs:element name="CompositeName" type="core:CompositeNameType" minOccurs="0"/>
<xs:element name="NoteMessage" type="core:NoteMessageType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="NamePrefixType"/>
<xs:simpleType name="FirstNameType"/>
<xs:simpleType name="MiddleNameType"/>
<xs:simpleType name="LastNameType"/>
<xs:simpleType name="NameSuffixType"/>
<xs:simpleType name="NameTitleType"/>
<xs:simpleType name="CompositeNameType"/>
<xs:simpleType name="NoteMessageType"/>
</xs:schema>