Tải bản đầy đủ (.pdf) (1,560 trang)

OReilly XML in a nutshell 3rd edition sep 2004 ISBN 0596007647

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (10.73 MB, 1,560 trang )










TableofContents
Index
Reviews
ReaderReviews
Errata
Academic

XMLinaNutshell,3rdEdition
ByElliotteRustyHarold,W.ScottMeans

Publisher :O'Reilly
PubDate :September2004
ISBN :0-596-00764-7
Pages :712


There'salottoknowaboutXML,andits
constantlyevolving.Butyoudon'tneedto
commiteverysyntax,API,orXSLT
transformationtomemory;youonlyneedto
knowwheretofindit.Andifit'sadetailthat
hastodowithXMLoritscompanion


standards,you'llfindit--clear,concise,useful,
andwell-organized--intheupdatedthird
editionofXMLinaNutshell.











TableofContents
Index
Reviews
ReaderReviews
Errata
Academic

XMLinaNutshell,3rdEdition
ByElliotteRustyHarold,W.ScottMeans

Publisher :O'Reilly
PubDate :September2004
ISBN :0-596-00764-7
Pages :712






Copyright
Preface
WhatThisBookCovers

What'sNewintheThirdEdition




OrganizationoftheBook




RequestforComments

ConventionsUsedinThisBook
Acknowledgments


PartI:XMLConcepts
Chapter1.IntroducingXML

Section1.1.TheBenefitsofXML





Section1.2.WhatXMLIsNot



Section1.4.HowXMLWorks

Section1.3.PortableData
Section1.5.TheEvolutionofXML






Chapter2.XMLFundamentals
Section2.1.XMLDocumentsandXMLFiles




Section2.2.Elements,Tags,andCharacterData




Section2.4.XMLNames





Section2.6.CDATASections




Section2.8.ProcessingInstructions




Section2.10.CheckingDocumentsforWell-Formedness

Section2.3.Attributes
Section2.5.References
Section2.7.Comments
Section2.9.TheXMLDeclaration
Chapter3.DocumentTypeDefinitions(DTDs)




Section3.1.Validation




Section3.3.AttributeDeclarations





Section3.5.ExternalParsedGeneralEntities




Section3.7.ParameterEntities




Section3.9.TwoDTDExamples




Section3.2.ElementDeclarations
Section3.4.GeneralEntityDeclarations
Section3.6.ExternalUnparsedEntitiesandNotations
Section3.8.ConditionalInclusion
Section3.10.LocatingStandardDTDs
Chapter4.Namespaces
Section4.1.TheNeedforNamespaces




Section4.2.NamespaceSyntax





Section4.4.NamespacesandDTDs

Section4.3.HowParsersHandleNamespaces
Chapter5.Internationalization




Section5.1.Character-SetMetadata




Section5.3.TextDeclarations




Section5.5.Unicode




Section5.7.Platform-DependentCharacterSets




Section5.9.TheDefaultCharacterSetforXMLDocuments

Section5.2.TheEncodingDeclaration
Section5.4.XML-DefinedCharacterSets
Section5.6.ISOCharacterSets
Section5.8.ConvertingBetweenCharacterSets




Section5.10.CharacterReferences



Section5.11.xml:lang


PartII:Narrative-LikeDocuments
Chapter6.XMLasaDocumentFormat

Section6.1.SGML'sLegacy




Section6.2.NarrativeDocumentStructures





Section6.4.DocBook




Section6.6.WordprocessingML




Section6.8.TransformationandPresentation

Section6.3.TEI
Section6.5.OpenOffice
Section6.7.DocumentPermanence
Chapter7.XMLontheWeb




Section7.1.XHTML




Section7.3.AuthoringCompoundDocumentswithModularXHTML





Section7.2.DirectDisplayofXMLinBrowsers
Section7.4.ProspectsforImprovedWebSearchMethods
Chapter8.XSLTransformations(XSLT)
Section8.1.AnExampleInputDocument




Section8.2.xsl:stylesheetandxsl:transform




Section8.4.TemplatesandTemplateRules




Section8.6.ApplyingTemplateswithxsl:apply-templates



Section8.8.Modes




Section8.9.AttributeValueTemplates





Section8.11.OtherXSLTElements

Section8.3.StylesheetProcessors
Section8.5.CalculatingtheValueofanElementwithxsl:value-of
Section8.7.TheBuilt-inTemplateRules

Section8.10.XSLTandNamespaces
Chapter9.XPath




Section9.1.TheTreeStructureofanXMLDocument




Section9.3.CompoundLocationPaths




Section9.5.UnabbreviatedLocationPaths




Section9.7.XPathFunctions


Section9.2.LocationPaths
Section9.4.Predicates
Section9.6.GeneralXPathExpressions
Chapter10.XLinks




Section10.1.SimpleLinks



Section10.2.LinkBehavior



Section10.3.LinkSemantics




Section10.4.ExtendedLinks




Section10.6.DTDsforXLinks





Section10.5.Linkbases
Section10.7.BaseURIs
Chapter11.XPointers
Section11.1.XPointersonURLs




Section11.2.XPointersinLinks




Section11.4.ChildSequences




Section11.6.Points




Chapter12.XInclude

Section11.3.ShorthandPointers
Section11.5.Namespaces
Section11.7.Ranges

Section12.1.TheincludeElement




Section12.2.IncludingTextFiles




Section12.4.Fallbacks




Section12.3.ContentNegotiation
Section12.5.XPointers
Chapter13.CascadingStyleSheets(CSS)
Section13.1.TheLevelsofCSS




Section13.2.CSSSyntax




Section13.4.Selectors





Section13.6.Pixels,Points,Picas,andOtherUnitsofLength




Section13.8.TextProperties




Section13.3.AssociatingStylesheetswithXMLDocuments
Section13.5.TheDisplayProperty
Section13.7.FontProperties
Section13.9.Colors
Chapter14.XSLFormattingObjects(XSL-FO)
Section14.1.XSLFormattingObjects




Section14.2.TheStructureofanXSL-FODocument




Section14.4.XSL-FOProperties




Section14.3.LayingOuttheMasterPages
Section14.5.ChoosingBetweenCSSandXSL-FO
Chapter15.ResourceDirectoryDescriptionLanguage(RDDL)




Section15.1.What'sattheEndofaNamespaceURL?



Section15.2.RDDLSyntax



Section15.3.Natures



Section15.4.Purposes


PartIII:Record-LikeDocuments
Chapter16.XMLasaDataFormat

Section16.1.WhyUseXMLforData?







Section16.2.DevelopingRecord-LikeXMLFormats
Section16.3.SharingYourXMLFormat
Chapter17.XMLSchemas
Section17.1.Overview




Section17.2.SchemaBasics




Section17.4.ComplexTypes




Section17.6.SimpleContent




Section17.8.AllowingAnyContent







Section17.3.WorkingwithNamespaces
Section17.5.EmptyElements
Section17.7.MixedContent
Section17.9.ControllingTypeDerivation
Chapter18.ProgrammingModels
Section18.1.CommonXMLProcessingModels
Section18.2.CommonXMLProcessingIssues
Section18.3.GeneratingXMLDocuments




Chapter19.DocumentObjectModel(DOM)




Section19.2.StructureoftheDOMCore




Section19.4.SpecificNode-TypeInterfaces





Section19.6.DOMLevel3Interfaces




Section19.8.ASimpleDOMApplication




Section19.1.DOMFoundations
Section19.3.NodeandOtherGenericInterfaces
Section19.5.TheDOMImplementationInterface
Section19.7.ParsingaDocumentwithDOM
Chapter20.SimpleAPIforXML(SAX)
Section20.1.TheContentHandlerInterface
Section20.2.FeaturesandProperties

Section20.3.Filters


PartIV:Reference




Chapter21.XMLReference




Section21.1.HowtoUseThisReference



Section21.2.AnnotatedSampleDocuments



Section21.3.XMLSyntax



Section21.4.Constraints



Section21.5.XML1.0DocumentGrammar




Section21.6.XML1.1DocumentGrammar
Chapter22.SchemasReference




Section22.1.TheSchemaNamespaces





Section22.3.Built-inTypes




Chapter23.XPathReference




Section23.2.DataTypes




Section23.4.Predicates




Chapter24.XSLTReference

Section22.2.SchemaElements
Section22.4.InstanceDocumentAttributes
Section23.1.TheXPathDataModel
Section23.3.LocationPaths
Section23.5.XPathFunctions

Section24.1.TheXSLTNamespace




Section24.2.XSLTElements




Section24.4.TrAX






Section24.3.XSLTFunctions
Chapter25.DOMReference
Section25.1.ObjectHierarchy
Section25.2.ObjectReference
Chapter26.SAXReference
Section26.1.Theorg.xml.saxPackage




Section26.2.Theorg.xml.sax.helpersPackage





Section26.4.Theorg.xml.sax.extPackage




Section26.3.SAXFeaturesandProperties
Chapter27.CharacterSets
Section27.1.CharacterTables
Section27.2.HTML4EntitySets

Section27.3.OtherUnicodeBlocks


Colophon

Index


Copyright©2004,2002,2001O'ReillyMedia,Inc.Allrights
reserved.
PrintedintheUnitedStatesofAmerica.
PublishedbyO'ReillyMedia,Inc.,1005GravensteinHighway
North,Sebastopol,CA95472.
O'Reillybooksmaybepurchasedforeducational,business,or
salespromotionaluse.Onlineeditionsarealsoavailablefor
mosttitles().Formoreinformation,
contactourcorporate/institutionalsalesdepartment:(800)
998-9938or

NutshellHandbook,theNutshellHandbooklogo,andthe
O'ReillylogoareregisteredtrademarksofO'ReillyMedia,Inc.
TheInaNutshellseriesdesignations,XMLinaNutshell,the
imageofapeafowl,andrelatedtradedressaretrademarksof
O'ReillyMedia,Inc.
Manyofthedesignationsusedbymanufacturersandsellersto
distinguishtheirproductsareclaimedastrademarks.Where
thosedesignationsappearinthisbook,andO'ReillyMedia,Inc.
wasawareofatrademarkclaim,thedesignationshavebeen
printedincapsorinitialcaps.
Whileeveryprecautionhasbeentakeninthepreparationofthis
book,thepublisherandauthorsassumenoresponsibilityfor
errorsoromissions,orfordamagesresultingfromtheuseof
theinformationcontainedherein.


Preface
Inthelastfewyears,XMLhasbeenadoptedinfieldsasdiverse
aslaw,aeronautics,finance,insurance,robotics,multimedia,
hospitality,travel,art,construction,telecommunications,
software,agriculture,physics,journalism,theology,retail,and
comics.XMLhasbecomethesyntaxofchoicefornewly
designeddocumentformatsacrossalmostallcomputer
applications.It'susedonLinux,Windows,Macintosh,andmany
othercomputerplatforms.MainframesonWallStreettrade
stockswithoneanotherbyexchangingXMLdocuments.
ChildrenplayinggamesontheirhomePCssavetheir
documentsinXML.Sportsfansreceivereal-timegamescores
ontheircellphonesinXML.XMLissimplythemostrobust,
reliable,andflexibledocumentsyntaxeverinvented.

XMLinaNutshellisacomprehensiveguidetotherapidly
growingworldofXML.ItcoversallaspectsofXML,fromthe
mostbasicsyntaxrules,tothedetailsofDTDandschema
creation,totheAPIsyoucanusetoreadandwriteXML
documentsinavarietyofprogramminglanguages.


WhatThisBookCovers
TherearethousandsofformallyestablishedXMLapplications
fromtheW3Candotherstandardsbodies,suchasOASISand
theObjectManagementGroup.Thereareevenmoreinformal,
unstandardizedapplicationsfromindividualsandcorporations,
suchasMicrosoft'sChannelDefinitionFormatandJohn
Guajardo'sMindReadingMarkupLanguage.Thisbookcannot
coverthemall,anymorethanabookonJavacoulddiscuss
everyprogramthathaseverbeenormighteverbewrittenin
Java.ThisbookfocusesprimarilyonXMLitself.Itcoversthe
fundamentalrulesthatallXMLdocumentsandauthorsmust
adhereto,fromawebdesignerwhousesSMILtoadd
animationstowebpagestoaC++programmerwhousesSOAP
toexchangeserializedobjectswitharemotedatabase.
Thisbookalsocoversgenericsupportingtechnologiesthathave
beenlayeredontopofXMLandareusedacrossawiderangeof
XMLapplications.Thesetechnologiesinclude:

XLink
Anattribute-basedsyntaxforhyperlinksbetweenXMLand
non-XMLdocumentsthatprovidethesimple,onedirectionallinksfamiliarfromHTML,multidirectionallinks
betweenmanydocuments,andlinksbetweendocumentsto
whichyoudon'thavewriteaccess.


XSLT
AnXMLapplicationthatdescribestransformationsfromone
documenttoanotherineitherthesameordifferentXML


vocabularies.

XPointer
AsyntaxforURIfragmentidentifiersthatselectsparticular
partsoftheXMLdocumentreferredtobytheURIoftenused
inconjunctionwithanXLink.

XPath
Anon-XMLsyntaxusedbybothXPointerandXSLTfor
identifyingparticularpiecesofXMLdocuments.For
example,anXPathcanlocatethethirdaddresselementin
thedocumentorallelementswithanemailattributewhose
valueis

XInclude
AmeansofassemblinglargeXMLdocumentsbycombining
othercompletedocumentsanddocumentfragments.

Namespaces
Ameansofdistinguishingbetweenelementsandattributes
fromdifferentXMLvocabulariesthathavethesamename;
forinstance,thetitleofabookandthetitleofawebpage
inawebpageaboutbooks.


Schemas


AnXMLvocabularyfordescribingthepermissiblecontents
ofXMLdocumentsfromotherXMLvocabularies.

SAX
TheSimpleAPIforXML,anevent-basedapplication
programminginterfaceimplementedbymanyXMLparsers.

DOM
TheDocumentObjectModel,alanguage-neutral,treeorientedAPIthattreatsanXMLdocumentasasetof
nestedobjectswithvariousproperties.

XHTML
AnXMLizedversionofHTMLthatcanbeextendedwith
otherXMLapplications,suchasMathMLandSVG.

RDDL
TheResourceDirectoryDescriptionLanguage,anXML
applicationbasedonXHTMLfordocumentsplacedatthe
endofnamespaceURLs.
Allthesetechnologies,whetherdefinedinXML(XLinks,XSLT,
namespaces,schemas,XHTML,XInclude,andRDDL)orin
anothersyntax(XPointers,XPath,SAX,andDOM),areusedin
manydifferentXMLapplications.
Thisbookdoesnotprovidein-depthcoverageofXML


applicationsthatarerelevanttoonlysomeusersofXML,such

as:

SVG
ScalableVectorGraphics,aW3C-endorsedstandardXML
encodingoflineart.

MathML
TheMathematicalMarkupLanguage,aW3C-endorsed
standardXMLapplicationusedforembeddingequationsin
webpagesandotherdocuments.

RDF
TheResourceDescriptionFramework,aW3C-standardXML
applicationusedfordescribingresources,withaparticular
focusonthesortofmetadataonemightfindinalibrary
cardcatalog.
Occasionallyweuseoneormoreoftheseapplicationsinan
example,butwedonotcoverallaspectsoftherelevant
vocabularyindepth.Whileinterestingandimportant,these
applications(andthousandsmorelikethem)areintended
primarilyforusewithspecialsoftwarethatknowstheirformats
intimately.Forinstance,mostgraphicdesignersdonotwork
directlywithSVG.Instead,theyusetheircustomarytools,such
asAdobeIllustrator,tocreateSVGdocuments.Theymaynot
evenknowthey'reusingXML.
Thisbookfocusesonstandardsthatarerelevanttoalmostall
developersworkingwithXML.WeinvestigateXMLtechnologies


thatspanawiderangeofXMLapplications,notthosethatare

relevantonlywithinafewrestricteddomains.


What'sNewintheThirdEdition
XMLhasnotstoodstillinthetwoyearssincethesecondedition
ofXMLinaNutshellwaspublished.Thesinglemostobvious
changeisthatthiseditionnowcoversXML1.1.However,the
genuinechangesinXML1.1arenotaslargeasa.1version
numberincreasewouldimply.Infact,ifyoudon'tspeak
Mongolian,Burmese,Amharic,Cambodian,orafewotherless
commonlanguages,there'sverylittlenewmaterialofinterest
inXML1.1.Inalmosteverywaythatpracticallymatters,XML
1.0and1.1arethesame.Certainlythere'salotlessdifference
betweenXML1.0andXML1.1thantherewasbetweenJava1.0
andJava1.1.Therefore,wewillmostlydiscussXMLinthisbook
asoneunifiedthing,andonlyreferspecificallytoXML1.1on
thoserareoccasionswherethetwoversionsareinfact
different.Probablyabout98%ofthisbookappliesequallywell
tobothXML1.0andXML1.1.
WehavealsoaddedanewchaptercoveringXInclude,arecent
W3Cinventionforassemblinglargedocumentsoutofsmaller
documentsandpiecesthereof.Elliotteisresponsibleforalmost
halfoftheearlyimplementationsofXInclude,aswellashaving
writtenpossiblythefirstbookthatusedXIncludeasanintegral
partoftheproductionprocess,soit'sasubjectofparticular
interesttous.Otherchaptersthroughoutthebookhavebeen
rewrittentoreflecttheimpactofXML1.1ontheirsubject
matter,aswellasindependentchangestheirtechnologieshave
undergoneinthelasttwoyears.Manytopicshavebeen
upgradedtothelatestversionsofvariousspecifications,

including:
SAX2.0.1
Namespaces1.1


DOMLevel3
XPointer1.0
Unicode4.0.1
Finally,manysmallerrorsandomissionswerecorrected
throughoutthebook.


OrganizationoftheBook
PartI,introducesthefundamentalstandardsthatformthe
essentialcoreofXMLtowhichallXMLapplicationsandsoftware
mustadhere.Itteachesyouaboutwell-formedXML,DTDs,
namespaces,andUnicodeasquicklyaspossible.
PartII,explorestechnologiesthatareusedmostlyfornarrative
XMLdocuments,suchaswebpages,books,articles,diaries,
andplays.You'lllearnaboutXSLT,CSS,XSL-FO,XLinks,
XPointers,XPath,XInclude,andRDDL.
OneofthemostunexpecteddevelopmentsinXMLwasits
enthusiasticadoptionfordata-heavystructureddocumentssuch
asspreadsheets,financialstatistics,mathematicaltables,and
softwarefileformats.PartIII,explorestheuseofXMLforsuch
applications.ThispartfocusesonthetoolsandAPIsneededto
writesoftwarethatprocessesXML,includingSAX,DOM,and
schemas.
Finally,PartIV,isaseriesofquick-referencechaptersthatform
thecoreofanyNutshellHandbook.Thesechaptersgiveyou

detailedsyntaxrulesforthecoreXMLtechnologies,including
XML,DTDs,schemas,XPath,XSLT,SAX,andDOM.Turntothis
sectionwhenyouneedtofindouttheprecisesyntaxquicklyfor
somethingyouknowyoucandobutdon'trememberexactly
howtodo.


ConventionsUsedinThisBook
Constantwidthisusedfor:
AnythingthatmightappearinanXMLdocument,including
elementnames,tags,attributevalues,entityreferences,
andprocessinginstructions.
Anythingthatmightappearinaprogram,including
keywords,operators,methodnames,classnames,and
literals.
Constantwidthboldisusedfor:
Userinput.
Emphasisincodeexamplesandfragments.
Constantwidthitalicisusedfor:
Replaceableelementsincodestatements.
Italicisusedfor:
Newtermswheretheyaredefined.
Emphasisinbodytext.
Pathnames,filenames,andprogramnames.(However,if
theprogramnameisalsothenameofaJavaclass,itis
writteninconstant-widthfont,likeotherclassnames.)


Hostanddomainnames(cafeconleche.org).


Thisiconindicatesatip,suggestion,orgeneralnote.

Thisiconindicatesawarningorcaution.

Significantcodefragments,completeprograms,anddocuments
aregenerallyplacedintoaseparateparagraph,likethis:
<?xmlversion="1.0"?>
<?xml-stylesheethref="person.css"type="text/css"?>

AlanTuring
</person>

XMLiscase-sensitive.ThePERSONelementisnotthesame
thingasthepersonorPersonelement.Case-sensitive
languagesdonotalwaysallowauthorstoadheretostandard
Englishgrammar.Itisusuallypossibletorewritethesentence
sothetwodonotconflict,and,whenpossible,wehave
endeavoredtodoso.However,onrareoccasionswhenthereis
simplynowayaroundtheproblem,weletstandardEnglish


comeuptheloser.
Finally,althoughmostoftheexamplesusedherearetoy
examplesunlikelytobereused,afewhaverealvalue.Please
feelfreetoreusethemoranypartsoftheminyourowncode.
Nospecialpermissionisrequired.Asfarasweareconcerned,
theyareinthepublicdomain(althoughthesameisdefinitely
nottrueoftheexplanatorytext).



RequestforComments
Weenjoyhearingfromreaderswithgeneralcommentsabout
howthisbookcouldbebetter,specificcorrections,ortopicsyou
wouldliketoseecovered.Youcanreachtheauthorsbysending
emailtoandPlease
realize,however,thatweeachreceiveseveralhundredpiecesof
emailadayandcannotrespondtoeveryonepersonally.Forthe
bestchanceofgettingapersonalresponse,pleaseidentify
yourselfasareaderofthisbook.Also,pleasesendthemessage
fromtheaccountyouwantustoreplytoandmakesurethat
yourreply-toaddressisproperlyset.There'snothingso
frustratingasspendinganhourormorecarefullyresearching
theanswertoaninterestingquestionandcomposingadetailed
response,onlytohaveitbouncebecausethecorrespondent
sentthemessagefromapublicterminalandneglectedtoset
thebrowserpreferencestoincludetheiractualemailaddress.
Theinformationinthisbookhasbeentestedandverified,but
youmayfindthatfeatureshavechanged(oryoumayevenfind
mistakes).Webelievetheoldsaying,"Ifyoulikethisbook,tell
yourfriends.Ifyoudon'tlikeit,tellus."We'reespecially
interestedinhearingaboutmistakes.Ashardastheauthors
andeditorsworkedonthisbook,inevitablythereareafew
mistakesandtypographicalerrorsthatslippedbyus.Ifyoufind
amistakeoratypo,pleaseletusknowsowecancorrectitina
futureprinting.Pleasesendanyerrorsyoufinddirectlytothe
authorsatthepreviouslylistedemailaddresses.
Youcanalsoaddresscommentsandquestionsconcerningthis
booktothepublisher:
O'ReillyMedia,Inc.
1005GravensteinHighwayNorth

Sebastopol,CA95472
(800)998-9938(intheUnitedStatesorCanada)


(707)829-0515(internationalorlocal)
(707)829-0104(fax)
Wehaveawebsiteforthebook,wherewelisterrata,
examples,andanyadditionalinformation.Youcanaccessthis
siteat:
/>Beforereportingerrors,pleasecheckthiswebsitetoseeifwe
havealreadypostedafix.Toasktechnicalquestionsor
commentonthebook,youcansendemailtotheauthors
directlyorsendyourquestionstothepublisherat:

FormoreinformationaboutotherO'Reillybooks,conferences,
software,ResourceCenters,andtheO'ReillyNetwork,seethe
websitesat:





Acknowledgments
Manypeoplewereinvolvedintheproductionofthisbook.The
originaleditor,JohnPosner,gotthisbookrollingandprovided
manyhelpfulcommentsthatsubstantiallyimprovedthebook.
WhenJohnmovedon,LauriePetryckishepherdedthisbookto
itscompletion.SimonSt.Laurenttookupthemantleofeditor
forthesecondandthirdeditions.Theeagle-eyedJeniTennison
readtheentiremanuscriptfromstarttofinishandcaughtmany

errors,largeandsmall.Withoutherattention,thisbookwould
notbenearlyasaccurate.StephenSpainhourdeservesspecial
thanksforhisworkonthereferencesection.Hiseffortsin
organizingandreviewingmaterialhelpedcreateabetterbook.
We'dliketothankMattSergeant,DidierP.H.Martin,Steven
Champeon,andNormWalshfortheirthoroughtechnicalreview
ofthemanuscriptandthoughtfulsuggestions.JamesKass's
Code2000andCode2001fontswereinvaluableinproducing
Chapter27.
We'dalsoliketothankeveryonewhohasworkedsohardto
makeXMLsuchasuccessoverthelastfewyearsandthereby
givenussomethingtowriteabout.Therearesomanyofthese
peoplethatwecanonlylistafew.Inalphabeticalorderwe'd
liketothankTimBerners-Lee,JonathanBorden,JonBosak,Tim
Bray,DavidBrownell,MikeChampion,JamesClark,John
Cowan,RoyFielding,CharlesGoldfarb,JasonHunter,ArnaudLe
Hors,MichaelKay,DeborahLapeyreKeironLiddle,Murato
Makoto,EveMaler,BrettMcLaughlin,DavidMegginson,David
Orchard,WalterE.Perry,PaulPrescod,JonathanRobie,Arved
Sandstrom,C.M.Sperberg-McQueen,JamesTauber,HenryS.
Thompson,B.TommieUsdin,EricvanderVlist,DanielVeillard,
LaurenWood,andMarkWutka.Ourapologiestoeveryonewe
unintentionallyomitted.
Elliottewouldliketothankhisagent,DavidRogelberg,who
convincedhimthatitwaspossibletomakealivingwriting


bookslikethisratherthanworkinginanoffice.Theentire
IBibliocrewhasalsohelpedhimtocommunicatebetterwithhis
readersinavarietyofwaysoverthelastseveralyears.All

thesepeopledeservemuchthanksandcredit.Finally,as
always,heoffershislargestthankstohiswife,Beth,without
whoseloveandsupportthisbookwouldneverhavehappened.
Scottwouldmostliketothankhislovelywife,Celia,whohas
alreadyspentwaytoomuchtimeasa"computerwidow."He
wouldalsoliketothankhisdaughterSeleneforunderstanding
whyDaddycan'tplaywithherwhenhe's"working"andSkyler
forjustbeinghimself.Also,he'dliketothanktheteamat
EnterpriseWebMachinesforhelpinghimmaketimetowrite.
Finally,hewouldliketothankJohnPosnerforgettinghiminto
this,LauriePetryckiforworkingwithhimwhenthingsgot
tough,andSimonSt.Laurentforhisoverwhelmingpatiencein
dealingwithanalways-overcommittedauthor.
ElliotteRustyHarold

W.ScottMeans



PartI:XMLConcepts


×