OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] extrernal entities - part 2

[ Lists Home | Date Index | Thread Index ]

Why are you using XML? Seems like you have a fundamental 
misunderstanding (OK, you have corrected some extreme beginner mistakes) 
of what XML is and what is is good for...


Rick Marshall wrote:
> <?xml version="1.0"?>
> <!DOCTYPE label [
>        <!ELEMENT vpn EMPTY>
>        <!ATTLIST vpn code ENTITY #REQUIRED>
>        <!NOTATION VPN SYSTEM "/usr/local/app/shoeman/bin/vpn">
>        <!ENTITY codex SYSTEM "1234" NDATA VPN>
>        ]>
> <label_file><vpn code="codex" /></label_file>
> ok, a bit more background here. i am trying to overcome a somewhat 
> classic "late-binding" problem.
> we get requests to print labels. the request come as text files that are 
> converted to xml and stored. the text file has everything we need to 
> print the labels except for some local info (essentially our product 
> number). sometime between receiving the files and actually printing the 
> labels all the data bits are filled in and we do have the required 
> product number. this can be identified from a code supplied by the 
> customer.
> the code above is a simplified version just to illustrate the point.
> when we produce the final output (zebra printer codes in this case) we 
> need to include our product code. so what i want to do is embed in the 
> xml a call to a function in our system that, when passed the customer 
> code, will return our product code.
> everything i've read suggests that the above snippet should work 
> (assuming /usr/local/app/sheoman/bin/vpn is executable and returns 
> something).
> and here is the simplified stylesheet:<xsl:stylesheet version="1.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
>        <xsl:output method="text"/>
>        <xsl:template match="/">
>                <xsl:apply-templates match="label_file"/>
>                </xsl:template>
>        <xsl:template match="label_file">
>                <xsl:text>
> XX</xsl:text>
>                <xsl:apply-templates match="vpn"/>
>                </xsl:template>
>        <xsl:template match="vpn">
>                <xsl:text>
> YY </xsl:text>
>                <xsl:value-of select="@code"/>
>                <xsl:text> ZZ</xsl:text>
>                </xsl:template>
>        </xsl:stylesheet>
> and the output:
> XX
> YY codex ZZ
> as you can see the entity "codex" is not  being replaced by the call to 
> /usr/local/...
> i can devise alternatives, but they would not be xml solutions and that 
> has other problems downstream.
> ps if this is the correc tsolution then it is a good reason to hang on 
> to dtds.
> rick
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
> The list archives are at http://lists.xml.org/archives/xml-dev/
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS