[
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...
-Rob
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>
|