[xsl] Ignore the DTD

Subject: [xsl] Ignore the DTD
From: bryan.s.schnabel@xxxxxxxxxxxxxx
Date: Fri, 12 Jan 2001 09:44:59 -0800
> I get my desired result only by removing my doctype declaration.
> 
> With this instance:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <!--
> <!DOCTYPE GIFTS SYSTEM "gifts.dtd">
> -->
> <gifts>
>   <ModelNumber dep="red" group="red" prod="red">P6205 * 1103</ModelNumber>
>   <ModelNumber dep="gold" group="red" prod="gold">P6205</ModelNumber>
>   <ModelNumber dep="gold" group="red" prod="gold">1103</ModelNumber>
>   <ModelNumber>P6205</ModelNumber>
>   <ModelNumber>1103</ModelNumber>
> </gifts>
> 
> This XSL:
> <xsl:template match="ModelNumber">
>   <xsl:if test="@dep">
>     <p>
>       <xsl:value-of select="@dep" /> 
>     </p>
>   </xsl:if>
>   <xsl:if test="@group">
>     <p>
>       <xsl:value-of select="@group" /> 
>     </p>
>   </xsl:if>
>   <xsl:if test="@prod">
>     <p>
>       <xsl:value-of select="@prod" /> 
>     </p>
>   </xsl:if>
> </xsl:template>
> 
> produces this desired result:
> 
> <?xml version="1.0" encoding="utf-8"?>
> <p>red</p><p>red</p><p>red</p>
> <p>gold</p><p>red</p><p>gold</p>
> <p>gold</p><p>red</p><p>gold</p>
> 
> But when I leave the doctype declaration in:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE GIFTS SYSTEM "gifts.dtd">
> <gifts>
>   <ModelNumber dep="red" group="red" prod="red">P6205 * 1103</ModelNumber>
>   <ModelNumber dep="gold" group="red" prod="gold">P6205</ModelNumber>
>   <ModelNumber dep="gold" group="red" prod="gold">1103</ModelNumber>
>   <ModelNumber>P6205</ModelNumber>
>   <ModelNumber>1103</ModelNumber>
> </gifts>
> 
> Which prescribes the attributes as such:
> 
> <!ATTLIST ModelNumber
>                dep (gold | red)  "red"
>                group (gold | red)  "red"
>                prod (gold | red)  "red"
>                location  CDATA    #IMPLIED 
>                ref  CDATA    #IMPLIED 
>                id  ID    #IMPLIED  >
> 
> I get this undesired result:
> 
> <?xml version="1.0" encoding="utf-8"?>
>   <p>red</p><p>red</p><p>red</p>
>   <p>gold</p><p>red</p><p>gold</p>
>   <p>gold</p><p>red</p><p>gold</p>
> <!-- didn't expect any elements past here -->
>   <p>red</p><p>red</p><p>red</p>
>   <p>red</p><p>red</p><p>red</p>
> 
> I cannot change the way the instances come to me. Is there a way I can
> stop the processor from referencing the DTD?
> 
> Thanks,
> 
> Bryan

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread