[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: extrernal entities - part 2
hmmm... fixed my problem. <xsl:value-of select="unparsed-entity-uri(@code)"/> interesting, because that's not obvious from some of the books - got it from the xsl faq. it does mean i'm commited now to dtds :) so please keep them in any xml 2.0 rick 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 > > > !DSPAM:420ac67051971024615704! > >----------------------------------------------------------------- >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> > >!DSPAM:420ac67051971024615704! > > begin:vcard fn:Rick Marshall n:Marshall;Rick email;internet:rjm@z... tel;cell:+61 411 287 530 x-mozilla-html:TRUE version:2.1 end:vcard
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|