22_791199 bindex.qxp 5/8/06 5:47 PM Page 315

Index

COPYRIGHTED MATERIAL 22_791199 bindex.qxp 5/8/06 5:47 PM Page 316 22_791199 bindex.qxp5/8/065:47PMPage317 > (greaterthansymbol) / = 129 “ (doublequotes), << >> // 69 .. (doubledot), 27 (comma), , @* @ * 129 ‘ (apostrophe), 129 & (ampersand), SYMBOLS sXLett,129 as XMLentity, 151 searching for, 173 comparison operator, 167 axis, XQuery 70 69, XPath expression, 77 XML document, 217 root template, 79 root match, 167 axis, XQuery 69 XPath expression, 69 XPath expression, 27 DTD frequencysyntax, 170 as arithmeticoperator, (forward slash) 249 173, 170, (equality operator), (at symbol) (asterisk) (double lessthansign)documentorderoperator, (double greaterthansign)documentorder 167 axis, (double forward slash) XQuery 69 asterisk), (at symbol, 173 173 operator, lentv rnigfras 121–122 printingformats, alternative 42 AJAX (AsynchronousJavaScript andXML), 13 sharedinformation, industry, airline =(rae hnsmo,equalsign)comparisonoper- >= (greaterthansymbol, aggregation function( actor 24 accounting systems, 117–119 printing, absolute positioning, $a A [] (squarebrackets) 27 ? (questionmark), + 27 | (pipe), . 28 () (parentheses), != - <= < (lessthansymbol) iiigpt xrsin 155 limiting pathexpression, 79 described, 27 DTD frequencysyntax, 170 as arithmeticoperator, 129 as XMLentity, 173 comparison operator, (plus sign) 167 axis, (period) XQuery 170 (minus sign), aibe 171 variable, 173 170, (not equal)comparisonoperator, equalsign)comparison (less thansymbol, 199–200 prtr 173 operator, 173 ator, trbt,241 attribute, xmlagg() ,188–190, ), Index

Index 22_791199 bindex.qxp 5/8/06 5:47 PM Page 318

Altova XMLSpy

Altova XMLSpy, 305 axes, XPath, 167–168 Amazon Web service, 247–249 Ayers, Danny (Beginning XML, 3rd Edition), 307 ampersand (&), 129 ancestor axis, XQuery, 167 ancestor-or-self axis, XQuery, 167 B Antenna House XSL Formatter, 304 $b variable, 171 Apache backgrounds Cocoon CSS properties, 45 consume, transform, and produce, 227–228 image, adding to wine list, 56–57 Controller, 226–227 batch file, Saxon, 300–301 as XML pipeline, 225–226 Bates, Chris (XML in Theory and Practice), 307 FOP beginning and end tags for each element described, 100 rules, 20 printing, 105–106 viewing, 21 XSL-FO processors, 302–303 Beginning XML, 3rd Edition (Hunter, Watt, Rafter, (application programming interfaces), 260 Duckett, Ayers, Chase, Fawcett, Gaven, and apostrophe (‘), 129 Patterson), 307 apply-templates element, 68 Beginning XSLT 2.0: From Novice to Professional arithmetic operators, 170 (Tennison), 308 ASCII text format benefits of integration and automation, 296–297 DTD, 26 billing template, XSLT, 222 fonts, 124 binding WSDL, 243, 245 schema, 23 BizTalk (Microsoft), 290 ASP applications, 274 Blast Radius XMetaL, 305 asterisk (*) block and inline progression, 101 as arithmetic operator, 170 body element, 239, 241 DTD frequency syntax, 27 boldface type, 54–55 XPath expression, 69 Bonneau, Scott (XML Design Handbook), 307 Asynchronous JavaScript and XML (AJAX), 42 border padding, 55 at symbol (@) border property, CSS, 45 XPath expression, 69 BPMN (Business Process Modeling Notation), 290 XQuery axis, 167 BPMS (Business Process Management Systems), at symbol, asterisk (@*), 69 289–290 atomic values, 171 breadcrumb, 40 attribute axis, XQuery, 167 Brogden, Bill (Cocoon 2 Programming: Web Publishing attribute value not required (#IMPLIED), 29 with XML and Java), 307 attribute value required (#REQUIRED), 28 browser. See web browser attributes business processes information model, winery problem, 8 benefits of integration and automation, 296–297 rules for, 21 described, 281–283 template, 70 integration XPath expression matching, 69 BPMS, 289–290 attributes function (xmlattributes()), 189, 191 custom solutions and vendor-based proprietary authoring tools systems, 286 content rules, mandating, 11 data and systems, 283–285 formatting, automated, 12 described, 285–286, 287

318 22_791199 bindex.qxp 5/8/06 5:47 PM Page 319

Cocoon (Apache) Index patterns, 288 described, 276 workflow engines, 286 .NET remoting, 276–277 layer, 273 RMI, 277 problem, 282 web services, 277 reengineering, 287–288 structured relational data, 266–267 supply chain transformation sheets, 216–220 internal processes, integrating, 295 XML data procurement, 292–293 DTD, 270 production, 294–295 one-shot integration, 268 sales and distribution, 295 relational database data, validating data, 269 value proposition of partnerships, 283 staggered integration, 268–269 winery operations, 291–292 W3C XML schema, 271 business requirements, combining catalogs, 267–268 XML documents, validating, 269–270 XML documents, 267 CDATA (character data), 28 C centering name in wine list (text-align property), 54 Cascading Style Sheets Champy, James (Reengineering the Corporation: as alternative to tables, 72 A Manifesto for Business Revolution), 308 described, 42, 46 characters external resources, accessing, 56 data (CDATA), 28 formatting, 54–55, 80 parsed data (#PCDATA), 28 selectors, 43–45 replaced string, defining entities, 129–130 style properties, 45–46, 51–52 XML entities, 129–130 stylesheet PI, 46 Chase, Nicholas (Beginning XML, 3rd Edition), 307 target media type, rules for, 42 child elements tree annotation process, 42–43 DTD catalog, searching. See searching frequency syntax, 27 catalogs, combining naming, 26 application layer integration order, specifying, 27–28, 29, 32 connectors, 274 rules, 4 strategies, 274–276 XQuery axis, 167 business requirements, 267–268 XSL nodes, 218–219 content integration, 277–278 Cizakca, Murat (A Comparative Evolution of Business CORBA, 277 Partnerships: The Islamic World and Europe, With database integration, 273–274 Specific Reference to the Ottoman Archives ETL process, 266 (Ottoman Empire and Its Heritage, Vol. 8), 308 merge points, choosing Client faultcode, 241 business process layer, 273 CMS (content management systems) data layer, 272 described, 277–278 design strategies, 271 dynamic transformations, 278 service layer, 272–273 pipeline architecture, 278 software application layer, 272 Cocoon (Apache) problem, 265–266 consume, transform, and produce, 227–228 RELAX NG, 271 Controller, 226–227 SOA as XML pipeline, 225–226 CORBA, 277 DCOM, 276

319 22_791199 bindex.qxp 5/8/06 5:47 PM Page 320

Cocoon 2 Programming: Web Publishing with XML and Java

Cocoon 2 Programming: Web Publishing with XML and Cover Pages portal, 214 Java (Brogden, D’Cruz, and Gaither), 307 CSS (Cascading Style Sheets) collection function, 193 as alternative to tables, 72 COM (Microsoft ) connectors, described, 42, 46 274, 276 external resources, accessing, 56 comma (,), 27 formatting, 54–55, 80 comments, creating in XML, 191 selectors, 43–45 Common Object Request Broker Architecture (CORBA), style properties, 45–46, 51–52 233, 277 stylesheet PI, 46 A Comparative Evolution of Business Partnerships: The target media type, rules for, 42 Islamic World and Europe, With Specific Reference tree annotation process, 42–43 to the Ottoman Archives (Ottoman Empire and Its custom applications, 275 Heritage, Vol. 8) (Cizakca), 308 comparison operators, 170–173 compatibility tables, web browser, 46 D Component Object Model (COM) connectors, Microsoft, data consistency, enforcing, 12 274, 276 Data Direct Stylus Studio connectors, application, 274 collection function, 193 consuming web services editor, 305 Amazon, consuming from web application, 247–249 pros and cons of, 181–182 eBay service, integrating with inventory system, data layer, merge point at, 272 250–251 data sheet data, XSLT, 73 partner, consuming, 251 databases REST, 236–237 integrating, 273–274 RSS, 235–236, 246–247 SQL SOAP standard SELECT, 187, 199 described, 237–238 XML bridge, creating from relational data, 186–191 structure, 239–242 XML documents, merging, 154 XML and, 238 XML integration, 152–155, 202–204 World Wide Web, 233–235 XQuery, intermingling, 198 WSDL validating for combined catalogs, 269 binding, 243, 245 DCOM (Distributed Component Object Model), described, 242–244 276–277 message element, 244 D’Cruz, Conrad (Cocoon 2 Programming: Web Publishing portType element, 244 with XML and Java), 307 service element, 245–246 declaration, information model, 7–8 types element, 244–245 descendent axis, XQuery, 167 content integration, 277–278 descendent-or-self axis, XQuery, 167 content management systems (CMS) design, printing, 98–99, 106 described, 277–278 dialects, RSS feeds, 254–256 dynamic transformations, 278 display property pipeline architecture, 278 CSS, 45 content model, DTD, 26 setting to none,54 content rules, mandating, 11 distinct-values function, 176–177 CORBA (Common Object Request Broker Architecture), Distributed Component Object Model (DCOM), 233, 277 276–277 distribution, 295

320 22_791199 bindex.qxp 5/8/06 5:47 PM Page 321

Enterprise Resource Planning (ERP) Index distributor data, 15 DTD (document type definition) div (arithmetic operator), 170 catalogs, combining, 270 DNS (Domain Name Service), 261 described, 25–26 Document Object Model (DOM) parser, 213, 215 document structure information model, 26 document type definition. See DTD line-by-line review, 28–29 documents revising structure, 33–35 common languages, 213 as schema, 29–33, 36–37 custom applications, 215 symbols, 27–28 custom software solutions, 213 syntax, 27 DTD structure, 26 winery data, 27, 35–38 industry standards organizations, 213–215 XML language codes, 126–128 information model, 9–10 Duckett, Jon (Beginning XML, 3rd Edition and XML order in XQuery, 162, 173–174 Design Handbook), 307 PO, converting, 208–212 dynamic transformations, 278 querying and merging, 157 reasons for, 205–206 searching and merging with XML, 147–148 E top, matching, 77 EAI (Enterprise Application Integration), 275–276 transformation sheets eBay service, integrating with inventory system, catalogs, 216–220 250–251 described, 216 ebXML (Electronic Business using Extensible Markup purchase orders, 220–223 Language), 215 URIs, accessing through, 155–156 EbXML.org portal, 214 XML, rules of, 20–21 EDI (Electronic Data Interchange) documents, 290 XML catalogs, converting, 206–208 editors and IDEs XML pipelines oXygen XML, 304–305 Apache Cocoon, 225–228 Stylus Studio Data Direct, 305 described, 223–225 Trang, 305 SAX events, 228–230 Turbo XML, 305 Serving XML, 226 XMetaL, 305 smallx, 226 XMLSpy, 305 W3C XML Pipeline Definition Language, 225 Electronic Business using Extensible Markup Language XPL, 225 (ebXML), 215 XPath, querying multiple, 154 Electronic Data Interchange (EDI) documents, 290 DOM (Document Object Model) parser, 213, 215 elements Domain Name Service (DNS), 261 DTD frequency syntax, 27 domain-specific languages (DSLs), 144–145 empty, 20, 22 double dot (..), 69 information model, 7 double forward slash (//) XQuery axis, 167 matching with XPath expression, 69 double greater than sign (>>) document order operator, names, 21 173 rules for, 20 double less than sign (<<) document order operator, XML, 4–5 173 empty elements, 20, 22 double quotes (“), 129 Enterprise Application Integration (EAI), 275–276 DSLs (domain-specific languages), 144–145 Enterprise Resource Planning (ERP), 275

321 22_791199 bindex.qxp 5/8/06 5:47 PM Page 322

entities

entities winery labels, 80–82 rules for, 21 XML targeting audience, 129–130 automated authoring tools, 12 Envelope element, 239, 241 XSLT, 42, 80–82 eq comparison operator, 170–171, 173 XSL constraints, 99 equality operator (=), 170, 173, 249 Formatting Objects Processor (FOP), Apache’s ERP (Enterprise Resource Planning), 275 described, 100 errors, SOAP, 241 printing, 105–106 Ethier, Kay (XML and FrameMaker), 307 XSL-FO processors, 302–303 ETL (Extract, Transform, and Load) process, 266 forward slash (/) except sequence operator, 174 root match, 79 experimental language codes, 126 root template, 217 expressions, XSLT, 69 XML document, 77 Extensible Markup Language. See XML XPath expression, 69, 70 Extensible Stylesheet Transformations Language. XQuery axis, 167 See XSLT frequency syntax, DTD child elements, 27 Extract, Transform, and Load (ETL) process, 266 Frost, Jon (Learn SVG), 308 functions Stylus Studio tool collection function, 193 F XML Fault element, 241 lower(), 187 faultactor element, 241 xmlagg(), 188–190, 199–200 faultcode element, 241 xmlattributes(), 189, 191 faultdetail element, 241 -comment(), 191 faultstring element, 241 xmlelement(), 187–188, 191 Fawcett, Joe (Beginning XML, 3rd Edition), 307 xmlpi(), 191 filtering XQuery values in queries, 168 described, 180–181 XSLT, 138–141 distinct-values, 176–177 float property, CSS, 45 return, 180 floating display feature, 55 user-defined, 180 FLWOR expressions, 168 FO capabilities, adding, 302–303 following axis, XQuery, 167 G following-sibling axis, XQuery, 167 Gaither, Mark (Cocoon 2 Programming: Web Publishing font property, CSS, 45 with XML and Java), 307 fonts, 124 Gaven, Tom (Beginning XML, 3rd Edition), 307 footers, printing, 119–121 ge comparison operator, 173 FOP (Formatting Objects Processor), Apache’s general comparison operator, 171 described, 100 generate tag, 229 printing, 105–106 GIMP (the GNU Image Manipulation Program), 306 XSL-FO processors, 302–303 Goessner, Stefan (Learn SVG), 308 for clause, query, 168, 175 granularity, coarse-grained versus fine-grained, 61, 260 formats, document interchangeability (SGML), 2–3 graphical XML editors, 67 formatting graphics editors CSS, inline, 80 GIMP, 306 printing, 100–105 Inkscape, 306

322 22_791199 bindex.qxp 5/8/06 5:47 PM Page 323

JSPs (Java Server Pages) Index graphics paths, container for. See elements $index variable, 175 greater than symbol (>) industry standards organizations, 213–215 comparison operator, 173 information searching for, 151 hierarchy, 4–5 as XML entity, 129 sharing, 12–17 greater than symbol, equal sign (>=) comparison information model, winery problem operator, 173 attributes and information modeling, 8 gt comparison operator, 173 creating, 6 declaration, 7–8 document, creating, 9–10 H elements, 7 Hammer, Dr. Michael (management consultant and Inkscape graphics editor, 306 president of Hammer and Company) inline-level objects, 104–105 quotation, 285 inserting, XSLT template, 87–89 Reengineering the Corporation: A Manifesto for Business instance of operator, 179 Revolution, 308 integration hardware, documents interchangeable among (SGML), BPMS, 289–290 2–3 business processes, 283–285 Header element, 241 custom solutions and vendor-based proprietary headers, printing, 119–121 systems, 286 height property, CSS, 45 described, 285–286, 287 “Hello World” example, XQuery, 158 patterns, 288 high-fidelity image, printing, 97–98 interchangeable documents, 2 Hirtzler, Michel (Learn SVG), 308 intermediaries, 239–240 HTML (Hypertext Markup Language), 3, 76 internal processes, supply chain, 295 HTTP (HyperText Transfer Protocol) internationalization, 124 basic model, 233–234 (Microsoft) SOAP request, 242 CSS limitations, 46 web service compatibility, 234 formatting for, 304 Hunter, David (Beginning XML, 3rd Edition), 307 queries, displaying, 164, 166 hyperlinks intersect sequence operator, 174 key terms for compact index, 40 inventory wine list, adding, 60–61 eBay service, integrating, 250–251 Hypertext Markup Language (HTML), 3, 76 managing, complex XML markup, 23 HyperText Transfer Protocol (HTTP) winery problem, 200–201 basic model, 233–234 ISO 639 table of language codes, 126 SOAP request, 242 web service compatibility, 234 J Java I FO capabilities, adding, 302–303 identity transform, 67–68 RMI, 277 Idiv (arithmetic operator), 170 RSS feed, integrating, 246 if ...else query, XQuery, 176 Saxon-B library, 300 #IMPLIED (attribute value not required), 29 JSPs (Java Server Pages), 246 index attributes, 176

323 22_791199 bindex.qxp 5/8/06 5:47 PM Page 324

Kay, Michael H. K M Kay, Michael H. margin property, CSS, 45 Saxon, 299 margins, document, 55 XPath 2.0 Programmer’s Reference, 308 markup language documents, 2 XSLT 2.0 Programmer’s Reference, 75, 308 Mastering XSLT (White), 308 keys, XSLT, 83–86 masters, page, 101–102 Knobloch, Manfred (Web Design with XML), 307 match attribute, 68 Kohl, Tammy (XML Design Handbook), 307 menu of wines, 40 Kopp, Matthias (Web Design with XML), 307 merging documents manually, 151 searching and, 147–148 L SQL/XML, 154 labels, wine, 80–82 message language SOA, 259 calls to subroutines (methods), 242 SOAP web services, 259 documents, transforming, 213 WSDL, 243, 244 internationalization and localization, 124 message-oriented middleware (MOM) architecture, 276 targeting audience, 123–124 metadata XML feature (xml:lang attribute), 125–129 data consistency, enforcing, 12 XSL, 123 translated content, managing, 11 XSLT, 133–136 methods, 242 le comparison operator, 173 Microsoft BizTalk, 290 Learn SVG (Frost, Goessner, and Hirtzler), 308 Microsoft Component Object Model (COM) connectors, legacy applications, integrating, 275–276 274, 276 legal jurisdictions, customization requirements for, 124 Microsoft Internet Explorer less than symbol (<) CSS limitations, 46 comparison operator, 173 formatting for, 304 as XML entity, 129 queries, displaying, 164, 166 less than symbol, equal sign (<=) comparison operator, minus sign (-), 170 173 mismatched structures, XML and, 48 let clause, query, 168, 175 MOM (message-oriented middleware) architecture, 276 limiting path expression, 155 Mozilla/Firefox browser links compatibility tables, 46 Mozilla/Firefox browser, recognizing XHTML, 70 formatting for, 304 W3C recommendations, 47 link, recognizing XHTML, 70 XSLT templates, adding, 91 multiple outputs, reusing content for, 11 Literal Result Element as Stylesheet, 75 multiple source documents, XQuery, 163–166 localization, 124 MustUnderstand location path, 70 faultcode, 241 logos, winery, 80–81 SOAP schema, 241 lookup tables, XSLT, 136–138 loop, query, 168, 175, 177–178 lower() function, 187 N lt comparison operator, 173 name attribute, 28 named XSLT templates, calling, 90

324 22_791199 bindex.qxp 5/8/06 5:47 PM Page 325

printing Index namespace declaration, XHTML, 76 parentheses (()), 28 naming child elements, DTD, 26 parsed character data (#PCDATA), 28 navigating XML tree, 77–78 partner companies ne comparison operator, 170–171, 173 information sharing, 13–15 .NET Web services, consuming, 251 applications, 274 path expression, limiting, 155 remoting, 276–277 Patterson, Bill (Beginning XML, 3rd Edition), 307 network address, web services, 245–246 #PCDATA (parsed character data), 28 node, XQuery, 161 PDF, printing, 100 not equal comparison operator (!=), 170, 173 period (.), 167 pertinent XML data, 130–131 PI (processing instruction) O XML query, 191 OASIS (Organization for the Advancement of Structured XPath expression, 69 Information Standards), 214 pipe (|), 27 online data sheet, XSLT, 86–94 pipeline architecture, 278 online resources plus sign (+) browser compatibility tables, 46 as arithmetic operator, 170 listed, 309–310 DTD frequency syntax, 27 operands, 169 PO (purchase orders), 208–212, 220 operating system, interchangeability among (SGML), port, WSDL, 243 2–3 portlets, 278 operation, WSDL, 243 portType element, 244 operators, XQuery preceding axis, XQuery, 167 arithmetic, 170 preceding-sibling axis, XQuery, 167 comparison, 170–173 predicates, XPath expression, 79 document order and sequence, 173–174 printing overview, 169–170 absolute positioning, 117–119 sequence, 173–174 alternative formats, 121–122 Oracle database design consequences, 106 demo data query example, 187 design properties XML, including in SQL query, 198, 202–204 described, 98–99 Oracle XSQL (Thomas), 307 FO, processing into PDF, 100 Orbeon PresentationServer, 225 formatting objects, 100–105 order by clause, query, 168 structure described, 99–100 order, DTD child elements, 27–28, 29, 32 FOP beta, 105–106 Organization for the Advancement of Structured Infor- headers and footers, 119–121 mation Standards (OASIS), 214 high-fidelity image, 97–98 oXygen XML, 304–305 need for, 97 objectives, 98 P product data layout, 107 wine brochure page masters and regions, FO, 101–102 fixed positioning, 115–116 page sequences, flows, and blocks, 103–104 flowed content, 111–115 parameterizing a transform, 78–79, 131–133 FO blank, 108–110 parent axis, XQuery, 167 page sequence, 110–111 parent element, 4

325 22_791199 bindex.qxp 5/8/06 5:47 PM Page 326

processing instruction (PI)

processing instruction (PI) XML query, 191 Q question mark (?), 27 XPath expression, 69 processing-instruction() XPath expression, 69 procurement, 292–293 R product data Rafter, Jeff (Beginning XML, 3rd Edition), 307 layout, printing, 107 raw XML, 74 promotion, 48–50 RDF (Resource Description Framework), 256 product line sketch, 48 Reengineering the Corporation: A Manifesto for Business product promotion Revolution (Hammer and Champy), 308 design regions, page, 101–102 consequences, 47 relational database selectors, 43–45 catalogs, combining, 266–267 structure outlined, 42–43 including in XQuery queries, 201–202 style properties, 45–46 validating for combined catalogs, 269 stylesheet PI, 46 RELAX NG (van der Vlist), 271, 307 technical aspects, 41–42 Remote Method Invocation (RMI), Java, 277 final cut, 56–58 remote procedure call (RPC) approach, 257–258 pertinent data, 40–41 removing elements from wine list, 54 problem, 39–40 RenderX XED FO, 304 product line sketch, 48 Representation State Transfer (REST) web services, raw XML data, 48–50 235–237, 256–257 requirements, extracting, 41 #REQUIRED (attribute value required), 28 wine list requirements, product promotion, 41 first draft, 51–54 Resource Description Framework (RDF), 256 second draft, 54–56 resources production supply chain, 294–295 CSS, accessing external, 56 programming languages ISO 639 table of language codes, 126 document, querying and merging, 157 XSLT, 145–146 RSS feed, integrating, 246 REST (Representation State Transfer) web services, prolog, 168 235–237, 256–257 providing web services return clause, query, 168, 175 building with WSDL and SOAP, 262–264 return function, XQuery, 180 design, 232, 253 returning query result, 168 interoperability, 262 reusing content (multiple outputs, multiple media), 11 problems solved by, 231 revising structure, DTD, 33–35 REST-style services, 256–257 RMI (Java Remote Method Invocation), 277 RSS feeds, 254–256 RNBD (RosettaNet Business Dictionary), 214 SOA RNTD (RosettaNet Technical Dictionary), 214 criteria, 259–261 root element described, 258–259, 277 purchase order template, 220 location and discovery, 261 XML, 4 modularity, 261 XSL-FO, 100 vocabulary, 259 root match, 79 SOAP/WSDL, 257–258 root of source tree, matching, 79 purchase orders (PO), 208–212, 220

326 22_791199 bindex.qxp 5/8/06 5:47 PM Page 327

sitemap Index root tag service, WSDL, 243 element names, 21 Service-Oriented Architecture. See SOA rules, 20 services, web (consuming) root template, 217 Amazon, consuming from web application, 247–249 RosettaNet Business Dictionary (RNBD), 214 eBay service, integrating with inventory system, RosettaNet standards organization, 214, 290 250–251 RosettaNet Technical Dictionary (RNTD), 214 partner, consuming, 251 RPC (remote procedure call) approach, 257–258 REST, 236–237 RSS feed RSS, 235–236, 246–247 design, 232 SOAP standard dialects, 254–256 described, 237–238 feed, integrating, 246–247 structure, 239–242 Web services, consuming, 235–236 XML and, 238 World Wide Web, 233–235 WSDL S binding, 243, 245 sales, role in supply chain, 295 described, 242–244 satisfies clause, 177 message element, 244 SAX (Simple API for XML) portType element, 244 event, 228–230 service element, 245–246 parser, 213, 215 types element, 244–245 Saxon-B (8.6.1) XSLT engine, 299–301 services, web (providing) Saxon-SA language, 66–67 building with WSDL and SOAP, 262–264 schema design, 232, 253 ASCII text format, 23 interoperability, 262 DTD, 29–33, 36–37 problems solved by, 231 types, XQuery, 178–179 REST-style services, 256–257 XML language codes, 128 RSS feeds, 254–256 searching SOA documents, 147–148 criteria, 259–261 text, 150–152 described, 258–259, 277 SELECT query location and discovery, 261 SQL, 187, 199 modularity, 261 XSL, 217 vocabulary, 259 selectors, CSS, 43–45 SOAP/WSDL, 257–258 self axis, XQuery, 167 Serving XML, 226 sequence operators, 173–174 SGML (Standard Generalized Markup Language), 2–3 sequences of nodes, 161 shipping and accounting systems, 24 serializers, 227 shipping, XSLT template, 222 Server faultcode, 241 sibling elements, 4 service consumer, 259 Simple API for XML (SAX) service contract, 259 event, 228–230 service element, WSDL, 245–246 parser, 213, 215 service layer, merging catalogs, 272–273 Simple Object Access Protocol. See SOAP web services service provider, 259 Simplified Stylesheet Module, 75 service registry, 259 sitemap, 226

327 22_791199 bindex.qxp 5/8/06 5:47 PM Page 328

smallx

smallx, 226 static repositories, combining, 266–267 SOA (Service-Oriented Architecture) static typing, 179 business processes, integrating, 289 strings of characters catalogs, combining searching for, 151 CORBA, 277 XML entities, 130 DCOM, 276 structure, enforced in XML, 12 described, 276 style properties, 45–46, 51–52 criteria, 259–261 stylesheet described, 258–259 module, 74–75 design, 253 PI, 46 location and discovery, 261 XSLT templates, 84–85 merge points, choosing, 272–273 Stylus Studio (Data Direct) modularity, 261 collection function, 193 RMI, 277 editor, 305 vocabulary, 259 pros and cons of, 181–182 web services, 277 subroutines, calls to, 242 SOAP (Simple Object Access Protocol) web services Sun Microsystems described, 235, 237–238 Java message, 259 FO capabilities, adding, 302–303 providing, 257–258 RMI, 277 sample interface, 262–264 RSS feed, integrating, 246 schema message parts, 241–242 Saxon-B library, 300 structure, 239–242 JSPs, 246 XML and, 238 supply chain software internal processes, integrating, 295 application layer, 272 procurement, 292–293 documents interchangeable among (SGML), 2–3 production, 294–295 some clause, 177 sales and distribution, 295 sorting query results, 168 SVG (Standard Vector Graphics) special characters, rules for, 21 editor, 306 SQL viewer, 42 SELECT, 187, 199 symbols, DTD, 27–28 XML bridge, creating from relational data, 186–191 XML documents, merging, 154 XML integration, 152–155, 202–204 T XQuery, intermingling, 198 table data square brackets ([]) container for (elements) described, 79 DTD frequency syntax, 27 limiting path expression, 155 empty, 20, 22 Standard Generalized Markup Language (SGML), 2–3 information model, 7 Standard Vector Graphics (SVG) matching with XPath expression, 69 editor, 306 names, 21 viewer, 42 rules for, 20 XML, 4–5

328 22_791199 bindex.qxp 5/8/06 5:47 PM Page 329

VPNs (virtual private networks) Index querying traits, 99 SELECT, 187, 199 Trang, 305 XML bridge, creating from relational data, 186–191 transform, 69–71, 74–77 XML documents, merging, 154 transformation sheets XML integration, 152–155, 202–204 catalogs, 216–220 XQuery, intermingling, 198 described, 216 tables, CSS as alternative to, 72 purchase orders, 220–223 tags, creating for several columns (xmlforest()), translated content, managing 190–191 metadata, 11 target media type, 42 XML, 11 targeting audience translation agencies, 11 entities (replaced character string, defining), 129–130 treat as operator, 179 internationalization and localization, 124 tree annotation process, 42–43 languages, displaying characters for differing, 123–124 Turbo XML, 305 xml:lang attribute type system, XQuery, 180–181 applicable technologies, 131 type, WSDL, 243 consequences, 129 types element, 244–245 described, 125–126 typeswitch operator, 179 structural changes, 126–128 XPath features, 130 templates U XML attributes, finding, 68, 79 UBL (Universal Business Language), 215 XSL purchase order, transforming, 220 UDDI (Universal Description, Discovery and Integra- XSLT tion), 237–238, 259 applying, 81–82 underline, 54–55 billing and shipping, 222 union sequence operator, 174 defining, 77–78 URIs inserting new, 87–89 document, accessing, 155–156 link, adding, 91 REST-style services, 256–257 named, calling, 90 URL, RSS feeds, 249, 254 stylesheet, 84–85 user-defined functions, XQuery, 180 when to use, 75 Tennison, Jeni V Beginning XSLT 2.0: From Novice to Professional, 308 valid XML, 23 XML Design Handbook, 307 validating documents for combined catalogs, 269–270 text, container for. See elements value comparison operator, 171–172 text search engines, XML, 151–152 value proposition of partnerships, 283 text searching, Windows Explorer, 150–151 van der Vlist, Eric (RELAX NG), 307 Text() XPath expression, 69 variables, 168 text-align property, 54 vendor-based proprietary systems, 286 Thomas, Michael D. (Oracle XSQL), 307 VersionMismatch faultcode, 241 Tidwell, Doug (XSLT), 308 VPNs (virtual private networks), 282 top of document, matching, 77

329 22_791199 bindex.qxp 5/8/06 5:47 PM Page 330

Watt, Andrew

RSS, 235–236, 246–247 W SOAP standard Watt, Andrew (Beginning XML, 3rd Edition and XML described, 237–238 Schema Essentials), 307 structure, 239–242 W3C (World Wide Web Consortium) XML and, 238 CSS, 42, 46, 47 World Wide Web, 233–235 linking, 47 WSDL XHTML recommendations, 71 binding, 243, 245 XML described, 242–244 catalogs, combining, 271 message element, 244 design goals, 3–4 portType element, 244 Pipeline Definition Language, 225 service element, 245–246 XPath recommendations, 71 types element, 244–245 XPL, 225 Web Services Description Language. See WSDL XSLT recommendations, 71 Web Services Interoperability Organization, 262 web browser web services, providing compatibility tables, 46 building with WSDL and SOAP, 262–264 Internet Explorer design, 232, 253 CSS limitations, 46 interoperability, 262 formatting for, 304 problems solved by, 231 queries, displaying, 164, 166 REST-style services, 256–257 Mozilla/Firefox RSS feeds, 254–256 compatibility tables, 46 SOA formatting for, 304 criteria, 259–261 link, recognizing XHTML, 70 described, 258–259, 277 serving XML data with CSS location and discovery, 261 as alternative to tables, 72 modularity, 261 described, 42, 46 vocabulary, 259 external resources, accessing, 56 SOAP/WSDL, 257–258 formatting, 54–55, 80 Web Services-Choreography Definition Language selectors, 43–45 (WS-CDL), 290 style properties, 45–46, 51–52 where clause, query, 168, 177–178 stylesheet PI, 46 White, Chuck (Mastering XSLT), 308 target media type, rules for, 42 width property, CSS, 45 tree annotation process, 42–43 Williams, Kevin (XML Design Handbook), 307 Web Design with XML (Knobloch and Kopp), 307 Windows Explorer, 150–151 Web Services Business Process Execution Language wine brochure (WS-BPEL), 290 fixed positioning, 115–116 web services, consuming flowed content, 111–115 Amazon, consuming from web application, 247–249 FO blank, 108–110 eBay service, integrating with inventory system, page sequence, 110–111 250–251 wine list, 40, 48, 51–54 partner, consuming, 251 winery data, 35–38 REST, 236–237 winery operations, 291–292

330 22_791199 bindex.qxp 5/8/06 5:47 PM Page 331

XML (Extensible Markup Language) Index winery problem web services described, 1–2 consuming, 237–238 information model providing, 257–259 attributes and information modeling, 8 Wyke, R. Allen (XML Schema Essentials), 307 creating, 6 declaration, 7–8 document, creating, 9–10 X elements, 7 Xalan XSLT engine, 301–302 inventory, 200–201 xCBL (XML Common Business Library), 215 labels, formatting, 80–82 XED FO (RenderX), 304 markup example, 5–6 XHTML objective, 64 document pertinent wine data, 61–64 CSS association, embedding, 46 shared information, 27–33 XSLT and, 156 wine list Mozilla/Firefox browser, recognizing, 70 background image, adding, 56–57 output to HTML, 76 hyperlinks, adding, 60–61 W3C recommendations, 71 menu, 40 XMetaL, 305 product line sketch, 48 XML and FrameMaker (Ethier), 307 workflow, 286 XML Common Business Library (xCBL), 215 World Wide Web Consortium (W3C) XML Design Handbook (Bonneau, Kohl, Tennison, CSS, 42, 46, 47 Duckett, and Williams), 307 linking, 47 XML (Extensible Markup Language) XHTML recommendations, 71 catalogs, combining XML DTD, 270 catalogs, combining, 271 one-shot integration, 268 design goals, 3–4 relational database data, validating data, 269 Pipeline Definition Language, 225 staggered integration, 268–269 XPath recommendations, 71 W3C XML schema, 271 XPL, 225 XML documents, validating, 269–270 XSLT recommendations, 71 catalogs, converting, 206–208 WS-BPEL (Web Services Business Process Execution data consistency, enforcing, 12 Language), 290 described, 1, 10–11 WS-CDL (Web Services-Choreography Definition Lan- design essentials in structure, 23 guage), 290 documents WSDL (Web Services Description Language) catalogs, combining, 267 binding, 243, 245 rules of, 20–21 message element, 244 searching and merging, 147–148 portType element, 244 validating for combined catalogs, 269–270 sample interface, 262–264 elements service element, 245–246 and information hierarchy, 4–5 types element, 244–245 naming, 21–22 enforced structure and automated formatting, 12 formatting with XSLT, 42, 155–156.

331 22_791199 bindex.qxp 5/8/06 5:47 PM Page 332

XML (Extensible Markup Language)

XML (Extensible Markup Language) (continued) structure, 168–169 history, 2–4 XPath expressions, 166–168 information, sharing, 12–17 XSLT and, 156 integration XML in Theory and Practice (Bates), 307 generating XML from relational data, 199–201 XML Process Definition Language (XPDL), 290 native XML and XML-enhanced relational databases, XML Schema Essentials (Wyke and Watt), 307 196–197 xmlagg() (aggregation function), 188–190, 199–200 projects overview, 185 xmlattributes() (attributes function), 189, 191 in SQL queries, 202–204 xml-comment() function, 191 SQL with XML extensions, 197–199 XML/EDI (Electronic Data Interchange) documents, SQL/XML bridge, creating XML from relational data, 290 186–191 xmlelement() function, 187–188, 191 XQuery, joining to native XML documents, 191–195 xmlforest() tags (creating for several columns), XQuery queries, including relational data in, 201–202 190–191 pipelines xml:lang attribute Apache Cocoon, 225–228 applicable technologies, 131 described, 223–225 structural changes, 126–128 SAX events, 228–230 targeting audience, 125–126 Serving XML, 226 XML.org portal, 214 smallx, 226 xmlpi() function, 191 W3C XML Pipeline Definition Language, 225 XMLSpy, 305 XPL, 225 XPath reusing content, 11 documents, querying multiple, 154 SOAP standard and, 238 expressions, 166–168 SQL queries and, 152–155 root of source tree, matching, 79 text searching, 150–152 XML language codes, using, 129 traditional programming approaches, 156–157 XPath 2.0 Programmer’s Reference (Kay), 308 translated content, managing, 11 XPDL (XML Process Definition Language), 290 valid, 23 XPL (W3C XML Pipeline Language), 225 well-formed, hallmarks of, 19–20 XQuery XQuery arithmetic operators, 170 arithmetic operators, 170 comparison operators, 170–173 comparison operators, 170–173 complex queries, 174–178 complex queries, 174–178 described, 148–149 described, 148–149 document order, 162, 173–174 document order, 162, 173–174 FLWOR expressions, 168 executing, 181–183 functions, 180–181 FLWOR expressions, 168 multiple source documents, 163–166 functions, 180–181 node, 161 multiple source documents, 163–166 operators overview, 169–170 node, 161 queries, including relational data in, 201–202 operators overview, 169–170 sequence operators, 173–174 schema types and, 178–179 sequences of nodes, 161 sequence operators, 173–174 simple, 158–160 sequences of nodes, 161 structure, 168–169 simple, 158–160 XML and XSLT, 156 XSD types, defining, 244–245

332 22_791199 bindex.qxp 5/8/06 5:47 PM Page 333

Yellow Pages Index XSL raw XML, 74 language, 123 refinements, 141–143 nodes, 218–219 resources and further reading, 145–146 SELECT, 217 Saxon-SA language, 66–67 XSL Formatter, 304 templates xsl:attribute element, 217, 221 inserting new, 87–89 XSL-FO link, adding, 91 processors named, calling, 90 FOP, 302–303 transform XED FO (RenderX), 304 catalogs, 216–220 XSL Formatter, 304 preparing, 74–77 root element, 100 running, 69–71 XSLT (Extensible Stylesheet Transformations Language) W3C recommendations, 71 billing and shipping, 222 XHTML document and, 156 data sheet data, 73 XML described, 65–66 formatting, 42 design consequences, 72 language codes, using, 129 engines relationship, 155–156 Saxon-B (8.6.1), 299–301 tree, navigating, 77–78 Xalan, 301–302 XQuery and, 156 expressions, 69 xsl:value-of element, 82–83 filtering, 138–141 XSLT (Tidwell), 308 formatting, 80–82 XSLT 2.0 Programmer’s Reference (Kay), 75, 308 identity transform, 67–68 xsl:transform element, 216–217 keys, 83–86 xsl:value-of element, 82–83 language for specific region, 133–136 lookup tables, 136–138 online data sheet, 86–94 Y parameterizing a transform, 78–79, 131–133 Yellow Pages, 237–238

333 22_791199 bindex.qxp 5/8/06 5:47 PM Page 334 22_791199 bindex.qxp 5/8/06 5:47 PM Page 335 22_791199 bindex.qxp 5/8/06 5:47 PM Page 336 22_791199 bindex.qxp 5/8/06 5:47 PM Page 337 22_791199 bindex.qxp 5/8/06 5:47 PM Page 338