Lists Home |
Date Index |
Robert Koberg wrote:
> 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...
ultimately we have to translate a variety of document formats into
commands for different printers. so i normalise the documents to an xml
format and then use xsltproc to produce targeted outputs. not the only
solution, but a very neat one.
i guess i could put it into the database as well and have it output the
target info. lots of ways to skin this cat.
as for extreme beginner mistakes - xml is very big (in some ways) and as
each branch is approached the opportunity for extreme <aside>the most
overworked word in english at the moment</aside> beginner mistakes is
always there. i expect to make them for many years yet ;)
> 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
>> and here is the simplified stylesheet:<xsl:stylesheet version="1.0"
>> <xsl:output method="text"/>
>> <xsl:template match="/">
>> <xsl:apply-templates match="label_file"/>
>> <xsl:template match="label_file">
>> <xsl:apply-templates match="vpn"/>
>> <xsl:template match="vpn">
>> YY </xsl:text>
>> <xsl:value-of select="@code"/>
>> <xsl:text> ZZ</xsl:text>
>> and the output:
>> 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.
>> 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>
tel;cell:+61 411 287 530