Hi
The element test "element(*, $type)" in your code matches an *instance*
element node whose type definition is of $type or derived from $type. It cannot
be used to retrieve the corresponding type definition in your schema.
If you need to make use of schema information, you might take a look at
the library here http://www.ibm.com/developerworks/library/x-schemanode/. There
is a function xsdf:get-global-type-def() in the library that can be used to
retrieve the type definition with a given type name from your schema.
Lisa
-----Original Message-----
From: Luke Stedman [mailto:luke(_dot_)stedman(_at_)gmail(_dot_)com]
Sent: Thursday, April 01, 2010 8:59 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Xpath/XSLT 2.0 & Schema Question
Apologies in advance for what is probably a very simple/basic/stupid question.
I have just started using XSL 2.0, having had enough of the
restrictions of XSL 1.0, and am trying to write a XSL that is schema
aware.
I would like to process an XML file and add information/process
something based on the schema, for example adding class information to
XML output or processing an element in a specific way if we want a
console script or Python script output.
I have tried for the last couple of hours to get the code working but
seem to be unable to, a small snippet of code is below...
<xsl:template match="*[(_at_)name and @xsi:type]">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:attribute name="action" select="'new'"/>
<xsl:variable name="name" select="name(.)"/>
<xsl:variable name="type" select="current()/@xsi:type"/>
<xsl:variable name="object" select="element(*, $type)"/> <!-- I
want to get the relevant schema entry here -->
<xsl:message>
++++
<xsl:value-of select="current()/@name"/>
<xsl:variable name="type" select="current()/@xsi:type"/>
<xsl:value-of select="$object//base"/>
++++
</xsl:message>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
Am I misunderstanding the functionality or doing something wrong?
If I have missed a relevant post on the list or obvious link then
please point me in its direction, I was unable to find one using a
search.
Apologies again for any stupid comments/expectations.
Luke
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--