[Home] [By Thread] [By Date] [Recent Entries]
How can I get the value of schemaLocation from the xsd:element/@ref
attribute in the following XML Schema sample:
... <xsd:schema ... xmlns:xxx="http://www.yo.com/example.namespace"> <xsd:import namespace="http://www.yo.com/example.namespace" schemaLocation="http://www.yo.com/example.xsd"/> ... <xsd:element ref="xxx:SomeName"/> ... My xsl looks something like this: ... <xsl:template match="xsd:element[@ref]"> <xsl:element name="{@ref}"> <xsl:variable name="schema" select="//xsd:import/@schemaLocation[../@namespace=???]"/> <xsl:apply-templates select="document($schema)//element[@name=current()/@ref]"/> </xsl:element> </xsl:template> ... Am I on the right track? If so, what should replace the ??? in the location path? If I remove the stuff between the xsl:element tags I get the following output: ... <xxx:SomeName xmlns:xxx="http://www.yo.com/example.namespace"/> ... So XSLT knows the namespace I want...I just don't know how to ask it. Thanks. BTW...I'm using LibXSLT and perl for the transform. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|

Cart



