RE: [xsl] element addition in schema based on conditional flag

Subject: RE: [xsl] 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: [xsl] 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

Current Thread