Subject: RE: element addition in schema based on conditional flag
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Wed, 25 Aug 2004 13:23:09 +0100
|
Well, your problem has nothing to do with XSLT, but I can suggest an XSLT
answer.
Simply write your schema as a stylesheet:
<xsl:param name="IS_ADDR_DEFINED"/>
<xsl:template match="/">
<xsl:if test="IS_ADDR_DEFINED">
<xsd:element>
...
</xsd:element>
</xsl:if>
then to get the operational schema with a particular set of parameters, run
this stylesheet (against an arbitrary source document - in XSLT 2.0 you
don't need a source document at all).
Michael Kay
> -----Original Message-----
> From: Neelam Joshi [mailto:mneelam@xxxxxxxxx]
> Sent: 25 August 2004 11:49
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: element addition in schema based on conditional flag
>
> Hi,
>
> I am new to this list. I am not sure if this sort of question has been
> asked earlier.
>
> My requirement is something like this:
>
> #ifdef IS_ADDR_DEFINED
> <xsd:element name="addr".....
> ...................
> ...................
> </xsd:element>
> #endif
>
> I want addr element to be included in the schema only if
> IS_ADDR_DEFINED is defined. IS_ADDR_DEFINED is to be read from a
> makefile.
>
> I am generating #define for each element present in the schema. So I
> want to generate #define for addr only if IS_ADDR_DEFINED=1.
>
> How do I do this in XML schema?
>
> Any help would be appreciated.
>
> Thanks,
> Neelam
|