RE: [xsl] handling tags and PIs within a macro

Subject: RE: [xsl] handling tags and PIs within a macro
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 23 Oct 2007 15:15:44 +0100
XSLT can only handle well-formed XML input documents. Your input is not
well-formed XML (in other words, it is not XML at all, since there is no
other kind). Sorry, but XML is the name of this game and you can't break the
rules.

Michael Kay
http://www.saxonica.com/
 

> -----Original Message-----
> From: Nancy Brandt [mailto:nancy_brndt@xxxxxxxxx] 
> Sent: 23 October 2007 15:10
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] handling tags and PIs within a macro
> 
> Hi guys,
> 
> I have created templates by the help of which, the compiler 
> will parse my macros for graphics, chunks of table entries, 
> etc. The problem is that when a macro is parsed by its 
> template defined in .xsl file, the compiler cannot handle 
> such processing instructions as <sbr\>, <xref.../>  
> <command>, etc that are within the macro's text. The compiler says:
> parser error : Unescaped '<' not allowed in attributes 
> values. How do I create a template within each macro 
> template, so that those processing instructions in the <> 
> format will be handled regularly, without changing their 
> format to &lt;...&gt;?
> 
> Please, advise!
> 
> P.S. here is an example of a table row macro (and within this 
> row there could be all these problematic PIs.
> 
> <xsl:template match="j_entry">
> <row>
>   <entry>
>   <xsl:element name="formalpara">
>     <xsl:attribute name="id">
>       <xsl:value-of select="@fid"/>
>      </xsl:attribute>
>      <title>
>        <xsl:value-of select="@cmd"/>
>      </title>
>   </xsl:element>
> 
>   <formalpara>
>     <title>Description</title>
>     <xsl:value-of select="@dsc"/>
>   </formalpara>
> 
>   <formalpara>
>     <title>Relevant to</title>
>     <xsl:value-of select="@rel"/>
>   </formalpara>
> 
>   <formalpara>
>     <title>Type</title>
>     <xsl:value-of select="@t"/>
>   </formalpara>
>   
>   <formalpara>
>     <title>Default Value</title>
>     <xsl:value-of select="@val"/>
>   </formalpara>
>   </entry>
> </row>
> </xsl:template>
> 
> The macro in the XML source file looks like this:
> 
> <j_entry cmd="admin/user/mail" dsc="Quota of a mailbox in 
> Megabytes. The default value is taken from the mail server 
> default quota (see entry <xref linkend='mta_quota' 
> xrefstyle='template:%t on page %p'/>)." rel="Mail Server" 
> t="integer" ver="4.0"
> val="30"/>
> 
> Thanks in advance!
> Kind regard,
> Nancy
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection 
> around http://mail.yahoo.com 

Current Thread