Ciao a tutti,
stò trasformando un documento xsd in html(fornito sotto) con la seguente trasformata:
Problema: per ogni elemento devo risalire al tipo base ed estrarre il valore
codice:
<xs:maxLength value="255"/>
sapete come è possibile fare questa cosa?
sono bloccato alla riga
codice:
<table border='1'><xsl:apply-templates  select="?????"/></table>
trasformata:
codice:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">
    <xsl:output method="html"/>

    <xsl:template match="xs:schema">
        <xsl:for-each select="xs:element[./@name='Persona']">
            <xsl:value-of select="@name"/>: 
            <xsl:apply-templates select="xs:complexType"/>
        </xsl:for-each>
    </xsl:template>
   
    <xsl:template match="xs:complexType">
        <xsl:for-each select="xs:attribute">
            <xsl:value-of select="@fixed"/>  
         </xsl:for-each>         
         

         <table>
        <xsl:for-each select="xs:sequence/xs:element">
            <tr><td><label><xsl:value-of select="@name"/></label></td></tr>
            <table border='1'><xsl:apply-templates  select="?????"/></table>
        </xsl:for-each>
        </table>
    </xsl:template>
</xsl:stylesheet>
Documento da trasformare:
codice:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="../definizioni.xsd"/>
	<xs:include schemaLocation="../standard.xsd"/>	
	<xs:element name="Persona">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Anagrafica" type="AnagraficaImpiegato"/>				
				<xs:element name="note" type="Stringa255" minOccurs="0"/>
			</xs:sequence>
                        <xs:attribute name="reparto" type="xs:string" use="required" fixed="01"/>
			<xs:attribute name="ufficio" type="xs:string" use="required" fixed="A"/>			
		</xs:complexType>
	</xs:element>
</xs:schema>
file definizioni.xsd
codice:
<xs:complexType name="AnagraficaImpiegato">
		<xs:complexContent>
			<xs:extension base="AnagraficaPersona">
				<xs:sequence>
					<xs:element name="matricola"	type="Matricola"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
</xs:complexType>
<xs:complexType name="AnagraficaPersona">		
		<xs:sequence>
			<xs:element name="nomePersona"	type="Nome"/>
		</xs:sequence>
</xs:complexType>
file standard.xsd
codice:
<xs:simpleType name="Matricola">
		<xs:restriction base="xs:string">
			<xs:maxLength value="8"/>
		</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Nome">
		<xs:restriction base="xs:string">
			<xs:maxLength value="100"/>
		</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Stringa255">
		<xs:restriction base="xs:string">
			<xs:maxLength value="255"/>
		</xs:restriction>
</xs:simpleType>
Ringrazio anticipatamente per le risposte.
M.