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 valoresapete come è possibile fare questa cosa?codice:<xs:maxLength value="255"/>
sono bloccato alla rigatrasformata:codice:<table border='1'><xsl:apply-templates select="?????"/></table>
Documento da trasformare: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>
file definizioni.xsdcodice:<?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 standard.xsdcodice:<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>
Ringrazio anticipatamente per le risposte.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>
M.

Rispondi quotando