[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Message Length vs Processing Speed
Greetings XML-DEV list, We've been working on an SGML (?XML) syntax for HL7 messages, and one of the significant issues that has come us is the concern over message length. Here's a message I posted to the HL7 SGML/XML Listserver suggesting how we might try to optimize the length/speed consideration. Would appreciate any additional comments. Thanks, Bob Bob Dolin, MD Kaiser Permanente Robert.H.Dolin@k... ----------------------- >---------- >From: Dolin, Robert H >Sent: Tuesday, December 02, 1997 11:24 PM >To: 'HL7-SGML' >Cc: Dolin,Robert H >Subject: RE: DATATAG minimization > >I appreciate all the feedback on this 'innocent' posting of mine. > >Perhaps I should point out that just because we are looking for optimal >minimization techniques, there need not be anything in a DTD that >precludes it from being XML-compliant - well, at least this is partly >correct... Can a DTD be part XML-compliant and part non-XML-compliant, >and can the non-XML-compliant part be used only by those who need to >minimize message length?? > >As an aside, there are several knowledgeable and respected members of >the HL7 community who continue to feel that message length is of >significant concern. So, where length is of major concern, we can >examine minimization techniques. Where the use of XML or where message >parsing speed is of major concern, fully normalized messages/documents >can be passed. > >And as John Spinosa points out, there may be a tradeoff in message >length versus speed of parsing/validating messages. > >Here's an example DTD based on the HL7 Version 3.0 Draft to show how we >might possibly enable both - tiny messages where length is important, >and XML-compliant messages where parsing speed is important: > >(This DTD uses SHORTREF minimization, and actually can make messages >SMALLER then their ER7 representation. The specifications for the >SHORTREF can be added to an existing (XML-Compliant) DTD without >changing the portion of the DTD that was already there.) > >Example 1: A sample ER7 message (based on a draft of the HL7 Version 3 >specifications) (361 Characters) > >Example 2: A sample DTD based on the same message used for Example 1. > >Example 3: A fully normalized SGML message conveying the same >information as in Example 1, based on the DTD in Example 2. (708 >Characters). > >Example 4: The same SGML message as in Example 3, minimized using >SHORTREF. (354 characters). > >Example 5: The DTD from Example 2, along with the SHORTREF mappings >appended, which allow an SGML parser to take the minimized message in >Example 4 and convert it to the fully normalized message in Example 3. > > > ------------------------------------------------------------------------ >Example 1: A sample ER7 message (based on a draft of the HL7 Version 3 >specifications) (361 Characters) [there may be errors in my use of the >ER7 syntax] > >MSH|~ >PE|X703421|I||~ >BC|IPChoice|I~ >IPE|3|4~ >PADM|Emergency Dept|9708170430|BAPT|{Jones^Houston}~ >PTP|Dallas, TX|HS~ >BL|Acnt~ >PTBA|X746343|198768353|D3|{X3^Trauma}~ >NX~ >PTBA|M1|D|D4|{Martha^Steward}~ >EL|Acnt~ >PCP|ABX1234567|CONS||{Jimmie^Steward}~ >BL|PartProv~ >EP|~ >HCP|19283746X-879||D2|{DD-15264^SNM}~ >NX~ >EP|ISO 8879 SGML~ >HCP|X12-EDI-HL7-XML|1999|X12-13|{F-12345^SNM}~ >EL|Acnt~ > > > ------------------------------------------------------------------------ >Example 2: A sample DTD based on the same message used for Example 1. > ><!Element A01 - - (PE)> ><!Element PE - - (ecd, ed, eipq, (IPE)?, PTP, EP+)> ><!Element IPE - - (adq, edq, PADM)> ><!Element PTP - - (asc, cc, PTBA*,PCP)> ><!Element EP - - (ptc, HCP)> ><!Element (HCP | PCP | PADM | PTBA) - - (pp, ad, arcd, arc)> ><!Element (ecd|ed|eipq|ptc|adq|edq|asc|cc|pp|ad|arcd) - - (#PCDATA)> ><!Element arc - - EMPTY> ><!Attlist arc > A CDATA #IMPLIED > B CDATA #IMPLIED> > > ------------------------------------------------------------------------ >Example 3: A fully normalized SGML message conveying the same >information as in Example 1, based on the DTD in Example 2. (708 >Characters). > ><A01><PE> ><ecd>X703421</ecd><ed>I</ed><eipq></eipq> ><IPE> ><adq>3</adq><edq>4</edq> ><PADM> ><pp>Emergency Dept</pp><ad>9708170430</ad><arcd>BAPT</arcd><arc >A="Jones" B="Houston"> ></PADM> ></IPE> ><PTP> ><asc>Dallas, TX</asc><cc>HS</cc> ><PTBA> ><pp>X746343</pp><ad>198768353</ad><arcd>D3</arcd><arc A="X3" B="Trauma"> ></PTBA> ><PTBA> ><pp>M1</pp><ad>D</ad><arcd>D4</arcd><arc A="Martha" B="Steward"> ></PTBA> ><PCP> ><pp>ABX1234567</pp><ad>CONS</ad><arcd></arcd><arc A="Jimmie" >B="Steward"> ></PCP></PTP> ><EP> ><ptc></ptc> ><HCP> ><pp>19283746X-879</pp><ad></ad><arcd>D2</arcd><arc A="DD-15264" B="SNM"> ></HCP></EP> ><EP> ><ptc>ISO 8879 SGML</ptc> ><HCP> ><pp>X12-EDI-HL7-XML</pp><ad>1999</ad><arcd>X12-13</arcd><arc A="F-12345" >B="SNM"> ></HCP></EP></PE></A01> > > ------------------------------------------------------------------------ >Example 4: The same SGML message as in Example 3, minimized using >SHORTREF. (354 characters). > ><A01<PE> >|X703421|I|| ><IPE> >|3|4| ><PADM> >|Emergency Dept|9708170430|BAPT|<arc A=Jones B=Houston ><PTP> >|Dallas, TX|HS| ><PTBA> >|X746343|198768353|D3|<arc A=X3 B=Trauma ><PTBA> >|M1|D|D4|<arc A=Martha B=Steward ><PCP> >|ABX1234567|CONS||<arc A=Jimmie B=Steward ><EP> >|| ><HCP> >|19283746X-879||D2|<arc A=DD-15264 B=SNM ><EP> >|ISO 8879 SGML| ><HCP> >|X12-EDI-HL7-XML|1999|X12-13|<arc A=F-12345 B=SNM ></A01> > > ------------------------------------------------------------------------ >Example 5: The DTD from Example 2, along with the SHORTREF mappings >appended, which allow an SGML parser to take the minimized message in >Example 4 and convert it to the fully normalized message in Example 3. > ><!Entity ecd1 "<ecd>"> ><!Entity ecd2 "</ecd><ed>"> ><!Entity ed1 "</ed><eipq>"> ><!Entity eipq1 "</eipq>"> ><!Entity adq1 "<adq>"> ><!Entity adq2 "</adq><edq>"> ><!Entity edq1 "</edq>"> ><!Entity asc1 "<asc>"> ><!Entity asc2 "</asc><cc>"> ><!Entity cc1 "</cc>"> ><!Entity ptc1 "<ptc>"> ><!Entity ptc2 "</ptc>"> ><!Entity pp1 "<pp>"> ><!Entity pp2 "</pp><ad>"> ><!Entity ad1 "</ad><arcd>"> ><!Entity arcd1 "</arcd>"> > ><!SHORTREF PE-sect "|" ecd1> ><!SHORTREF ecd-sect "|" ecd2> ><!SHORTREF ed-sect "|" ed1> ><!SHORTREF eipq-sect "|" eipq1> ><!SHORTREF IPE-sect "|" adq1> ><!SHORTREF adq-sect "|" adq2> ><!SHORTREF edq-sect "|" edq1> ><!SHORTREF PTP-sect "|" asc1> ><!SHORTREF asc-sect "|" asc2> ><!SHORTREF cc-sect "|" cc1> ><!SHORTREF EP-sect "|" ptc1> ><!SHORTREF ptc-sect "|" ptc2> ><!SHORTREF HCP-sect "|" pp1> ><!SHORTREF pp-sect "|" pp2> ><!SHORTREF ad-sect "|" ad1> ><!SHORTREF arcd-sect "|" arcd1> > ><!USEMAP PE-sect PE> ><!USEMAP ecd-sect ecd> ><!USEMAP ed-sect ed> ><!USEMAP eipq-sect eipq> ><!USEMAP IPE-sect IPE> ><!USEMAP adq-sect adq> ><!USEMAP edq-sect edq> ><!USEMAP PTP-sect PTP> ><!USEMAP asc-sect asc> ><!USEMAP cc-sect cc> ><!USEMAP EP-sect EP> ><!USEMAP ptc-sect ptc> ><!USEMAP HCP-sect HCP> ><!USEMAP HCP-sect PCP> ><!USEMAP HCP-sect PADM> ><!USEMAP HCP-sect PTBA> ><!USEMAP pp-sect pp> ><!USEMAP ad-sect ad> ><!USEMAP arcd-sect arcd> > ><!Element A01 - - (PE)> ><!Element PE - o (ecd, ed, eipq, (IPE)?, PTP, EP+)> ><!Element IPE - o (adq, edq, PADM)> ><!Element PTP - o (asc, cc, PTBA*,PCP)> ><!Element EP - o (ptc, HCP)> ><!Element (HCP | PCP | PADM | PTBA) - o (pp, ad, arcd, arc)> ><!Element (ecd|ed|eipq|ptc|adq|edq|asc|cc|pp|ad|arcd) - o (#PCDATA)> ><!Element arc - o EMPTY> ><!Attlist arc > A CDATA #IMPLIED > B CDATA #IMPLIED> > >> > xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@i... the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
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
|