•
•
•
•
•
•
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