sale item table, XSL-FO working example, 127-130
saving
Word documents as XML, 782-788
workbooks as XML, 773-777
SAX (Simple API for XML)
advantages and disadvantages, 403
architecture
basic application flow, 380-381
illustrated, 380
DefaultHandler class, 385-387
described, 377, 378
element data callback, 390
errors and warnings, handling, 392-393
ignorableWhitespace() method, 390-391
installing, 378-379
namespace callbacks, 388-389
packages, listed, 381
parsing XML data, 377-378
processingInstruction() method, 388
receiving events
DefaultHandler class, 383
described, 382-383
SAXParser class, 381-382
searching in XML file, 393-396
setDocumentLocator() method, 391
skippedEntity() method, 391
startDocument() and endDocument() methods, 387
startElement() and endElement() methods, 389-390
tree-based APIs, 378
validating XML, 399-402
writing XML contents, 396-399
XMLReader interface, 382, 384-385
SAXParser class, 381-382
schema
development
Altova XMLSpy 2006, 44-45
Oxygen XML Editor 6.2, 57-58
Stylus Studio 2006, 50-51
Visual Studio 2005, 38
RELAX NG
defining, 212-214
merging, 226-229
XmlReader class, reading with validation, 457-459
script editor, Altova XMLSpy 2006, 46-47
scripts, extending XSLT with, 257-258
searching in XML file, SAX, 393-396
security, WS-* specifications
credential exchange, 657
message confidentiality, 657
message integrity, 657
SELECT queries, Microsoft SQL Server 2005, 325
selected contacts, Ajax, 420
selecting XML, XQuery
XmlCursor, 317-318
XmlObject, 315-317
selectors, CSS, 84-85
SemanticWorks (Altova)
described, 762
graph example, 763
predicate, associating, 766-767
prefix, adding, 764
resource, adding, 764-766
triples, 767-769
<sequence> and <all> elements, 183-184
sequence concatenation (,) operator, 289
sequences, XPath, 282
serialization
described, 435
Java
described, 477-478
JAXP serializer, 478-479
serializing using StAX, 479-480
output of serialized object, changing, 438-444
Perl, 508-509
Python, 514-516
Ruby, 523-526
SAX contents, 396-399
using XmlSerializer class, 436-438
XmlTxtWriter, 447-449
XmlWriter, 450-452
server
Ajax query, 420-423
Microsoft WSE
application, configuring, 669-673
building service, 676
credential verification class, 667-669
described, 666-667
diagnostics, configuring, 673-674
results, 674-676
<service>, 645
service description, 651
service implementation, Axis, 583-586
service, mapping
Flickr Photo Search Wrapper class, 699-700
GeographicLocation class, 689-690
parameters, 685-687
PhotoInformation class, 698-699
testing, 690-692
testing Term Extraction Wrapper class, 694-696
wrapping
Flickr Photo Search service, 696-698
generally, 687-689
Term Extraction service, 692-694
services, Web
described, 565-570
discovering, 570-571
framework
binary attachments, 650
digital signature, 651
encyrption, 651
guaranteed message exchange, 651
inspection, 651
message correlation, 651
message envelope and controlled extensibility, 650
message exchange (routing), 650
Process Flow Contract Description, 651
Java
building with, 579
client application, running, 596-597, 599
HelloWorld service, 594-596
ProductService, consuming, 597-599
Microsoft WSE
client, 676-679
described, 665-666
exchange, result of, 679-681
functionality, 664-665
version 1.0, 664
version 2.0, 664
version 3.0, 663-664
Microsoft WSE server
application, configuring, 669-673
building service, 676
credential verification class, 667-669
described, 666-667
diagnostics, configuring, 673-674
results, 674-676
model, 649-650
SOAP, extending with
described, 653-655
extensions, 655-656
headers, 655
Tomcat
described, 580
setting up, 580-582
Windows forms, consuming with, 591-594
WSDL, defining
<binding>, 643-644
<definitions>, 638-640
described, 633-637
document structure, 637-638
<documentation>, 647-648
<import>, 645-647
<message>, 641-642
<portType>, 642-643
<service>, 645
<soap:binding>, 644
<soap:body>, 644-645
<soap:operation>, 644
<types>, 640-641
setDocumentLocator() method, 391
SGML (Standard Generalized Markup Language), 6, 68
short derived data type, 187
Simple API for XML. See SAX
simple elements, RELAX NG
declaring, 214-215
list types, 215-218
Simple Object Access Protocol. See SOAP
simplified box model hack, 91
single quotation marks (‘), avoiding error with, 15
skippedEntity() method, SAX, 391
slow service, building, 602-603
SOAP (Simple Object Access Protocol)
body
of request, 612-613
of response, 613
described, 607-609
encoding data types, 621
envelope, 611-612
header
actor attribute, 615-616
consuming messages, 631-633
creating messages, 630-631
described, 614-615, 629
mustUnderstand attribute, 616
role attribute, 616
message, 610-611
1.1 faults
<detail>, 618
<faultcode>, 617-618
<faultfactor>, 618
<faultstring>, 618
message, 617
1.2 faults
<Code>, 619
<Detail>, 621
message, 619
<Node>, 620
<Reason>, 620
<Role>, 620-621
<Subcode>, 620
<Text>, 620
<Value>, 619-620
tracing messages
described, 621
Microsoft Trace Utility, 622-624
XMLSpy, 624-629
transport protocols, 609-610
Web services, extending with
described, 653-655
extensions, 655-656
headers, 655
as XML, 609
<soap:binding>, 644
<soap:body>, 644-645
<soap:operation>, 644
spoken languages, tags, 12-13
SQL Server 2005 (Microsoft)
retrieving XML
AUTO query, 326, 327-328
EXPLICIT query, 326, 328-329
FOR XML AUTO query, 331-332
PATH query, 329-331
RAW query, 326-327
SELECT queries, 325
stored procedures or functions, exposing as Web services, 336-340
storing XML
article schema collection, applying to table, 334
article schema collection, creating, 333
bulk insert with OPENXML, 336
extracting attributes, 334-335
table, creating, 332-333
validating column, inserting into, 334
XQuery, 318-319
standalone attribute, 23
Standard Generalized Markup Language (SGML), 6, 68
start and end tag, 8
startDocument() method, SAX, 387
startElement() method, SAX, 389-390
stored procedures, exposing as Web services, 336-340
storing XML
databases, 324-325
Microsoft SQL Server 2005
article schema collection, applying to table, 334
article schema collection, creating, 333
bulk insert with OPENXML, 336
described, 332
extracting attributes, 334-335
table, creating, 332-333
validating column, inserting into, 334
Oracle 10g relational database, 343-345
Xindice database, 348-349
streaming feeds, RSS
described, 531
reading with Atom
described, 548-550
with Java, 556-558
XmlDocument, 550-552
XmlReader, 552-556
resources, 563
RSS 1.0, 540-542
RSS 2.0, 535-540
sample feeds by version, 532-534
versions listed, 532
writing with Atom
class libraries, 562
with Java, 560-562
with .NET, 559-560
string functions, XQuery, 312-313
string primitive data type, 186
strip-space, 243-244
style, CSS
box layout and cross-browser compatibility, 88-91
external reference with link element, 87-88
external reference with processing instructions, 87
levels, active, 81
multicolumn layout, 92-94
properties, 82-83
selectors, 84-85
style information, adding to page, 85-87
validating, 94
style information, CSS, 85-87
stylesheets, XSLT, including with include and import, 243
Stylus Studio 2006
basic editing, 47-50
benefits and disadvantages, 54-55
debugging, 54
schema development, 50-51
XSLT development, 51-53
<Subcode>, 620
submit protocol, XForms, 741-743
substring() function, 288
summary table, XSL-FO, 130-131
SVG viewer, Oxygen XML Editor 6.2, 61
Sybase Adaptive Server Enterprise 15, 349
syntax
attributes
described, 26
empty, 26-27
naming, 26
uniqueness, 27
xml:lang, 28
xml:space, 28-29
comments, 23-25
declaration
encoding attribute, 22-23
standalone attribute, 23
version attribute, 22
document .xml file, 17-22
elements
described, 7-8
empty, 11
naming conventions for elements, 8-9
nesting, 10
start and end tag, 8
namespaces, 29-31
parsers, 6-7
processing instructions, 25-26
tags
CDATA sections, 16-17
content, 12
described, 7-8, 11-12
entity references, 14-15
spoken languages, 12-13
text length, 12
whitespace, 13-14
well-formed documents, 6
SYSTEM and PUBLIC keywords, 145-146
system-property function, 257