Ja, das Beispiel oben ist die originale Datei. ich benutze Altova. Wenn ich also nicht das Attribut neu dahin schreibe, verschwindet es... Aber so klappt es jetzt auf jeden Fall.
Vielen Dank Thomas!!
Vielen Dank Thomas!!
<xsl:template match="attribute::type[.='xs:string'][../attribute::name[.='uom']][ancestor::xs:element[contains(@name, '_a')]]">
<xsl:copy-of select="."/>
<xsl:attribute name="fixed">a</xsl:attribute>
</xsl:template>
<xsl:template match="attribute::type[.='xs:string'][../attribute::name[.='new_type']][ancestor::xs:element[contains(@name, '_section_')]]">
<xsl:copy-of select="."/>
<xsl:attribute name="fixed"><xsl:value-of select="concat('section-', substing-after(ancestor::xs:element/@name, '_section_'))"/></xsl:attribute>
</xsl:template>
<xsl:template match="attribute::type[.='xs:string'][../attribute::name[.='uom']][ancestor::xs:element[contains(@name, '_a')]]">
<xs:element name="auto">
<xs:element name="press_a">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute name="uom" type="xs:string" use="required"/>
<xs:attribute name="tata" type="xs:string" use="required"/>
<xs:attribute name="lala" type="xs:string" use="required"/>
<xs:attribute name="new_type" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:element>
<xsl:template match="attribute::type[.='xs:string'][../attribute::name[.='new_type']][ancestor::xs:element[contains(@name, '_section_')]]">
<xsl:copy-of select="."/>
<xsl:attribute name="fixed"><xsl:value-of select="concat('section-', substring-after(ancestor::xs:element/@name, '_section_'))"/></xsl:attribute>
</xsl:template>
Comment