HTML for the World Wide Web, Fifth Edition, with XHTML and CSS

Book description

As both the Web and the browsers used to navigate it mature, work-arounds that compensate for the myriad factors that affect Web page appearance no longer cut it. Users expect Web pages to look beautiful regardless--and with the Fifth Edition of this popular Visual QuickStart Guide, you can make your Web pages comply. By following the generously illustrated, step-by-step instructions that are the hallmark of the Visual QuickStart series, you'll create beautiful code that works consistently across browser versions and platforms (including hand-held devices and cell phones) in no time.

This updated edition includes a new section on foreign-language and multilingual Web sites as well as ample coverage on how the use of HTML is changing. What hasn't changed, however, is the book's popular format: Task-oriented, step-by-step instruction that builds on your growing knowledge. Info-packed appendixes, a comprehensive index, and plenty of screen shots and code examples make HTML for the World Wide Web, Fifth Edition, with XHTML and CSS: Visual QuickStart Guide a must-have reference. Whether you're just getting your feet wet (no prior HTML knowledge is required) or design Web sites for a living, you'll turn to this best-selling guide again and again for answers to all of your HTML-related questions.

Table of contents

  1. Copyright
    1. Dedication
  2. Special thanks to
  3. Introduction
    1. The Internet, the Web, and HTML
    2. Open but Not Equal
    3. The Browser Wars
    4. The Push for Standards
      1. HTML 3.2: Standardization begins
      2. HTML 4 and CSS
      3. XML and XHTML
    5. The Real World
    6. What Should You Use?
      1. Deciding between HTML, XHTML, and CSS
    7. How This Book Works
    8. The HTML VQS Web Site
  4. 1. Web Page Building Blocks
    1. Markup: Elements, Attributes, and Values
      1. Elements
      2. Attributes and Values
      3. Block vs Inline
      4. Parents and Children
    2. A Web Page’s Text Content
    3. Links, Images, and Other Non-Text Content
    4. File Names
      1. Use lowercase file names
      2. Use the proper extension
    5. URLs
      1. Absolute URLs
      2. Relative URLs
    6. HTML vs XHTML
      1. What do you get for your troubles?
    7. Versions, flavors, and DOCTYPE
      1. The DOCTYPE and Standards vs. Quirks mode
    8. The Default Display of (X)HTML
    9. Adding Style to Your Web Pages
    10. The Cascade: When Rules Collide
    11. A Property’s Value
      1. Predefined Values
      2. Lengths and Percentages
      3. Bare Numbers
      4. URLs
      5. CSS Colors
  5. 2. Working With Web Page Files
    1. Designing Your Site
      1. To design your site
    2. Creating a New Web Page
      1. To create a new Web page
    3. Saving Your Web Page
      1. To save your Web page
    4. About Microsoft Word and Web Pages
    5. Specifying a Default or “Home” Page
      1. To specify a default or “home” page
    6. Editing Web Pages
      1. To edit Web pages
    7. Organizing Files
      1. To organize your files
    8. Viewing Your Page in a Browser
      1. To look at your page in a browser
    9. The Inspiration of Others
      1. To view other designers’ (X)HTML code
  6. 3. Basic (X)HTML Structure
    1. Starting Your Web Page
      1. To start a transitional HTML 4 page
      2. To begin a transitional XHTML page
    2. Creating the Foundation
      1. To create the head section
      2. To create the body
    3. Declaring the Encoding
      1. To declare the character encoding
    4. Creating a Title
      1. To create a title
    5. Creating Section Headers
      1. To organize your Web page with headers
    6. Starting a New Paragraph
      1. To begin a new paragraph
    7. Naming Elements
      1. To name unique elements
      2. To name groups of elements
    8. Breaking up a Page into Divisions
      1. To break up a page into divisions
    9. Creating Inline Spans
      1. To name inline spans
    10. Creating a Line Break
      1. To insert a line break
    11. Adding Comments
      1. To add comments to your HTML page
    12. Labeling Elements in a Web Page
      1. To label elements in a Web page
  7. 4. Basic (X)HTML Formatting
    1. Making Text Bold or Italic
      1. To make text bold
      2. To make text italic
    2. Changing the Size of Text
      1. To make the text bigger or smaller than the surrounding text
    3. Using a Monospaced Font
      1. To format text with a monospaced font
    4. Using Preformatted Text
      1. To use preformatted text
    5. Quoting Text
      1. To quote block-level text
      2. To quote inline text
    6. Creating Superscripts and Subscripts
      1. To create superscripts or subscripts
    7. Marking Changed Text
      1. To mark newly inserted text
      2. To mark deleted text
    8. Explaining Abbreviations
      1. To explain abbreviations
  8. 5. Creating Web Images
    1. About Images for the Web
      1. Format
      2. Color
      3. Size and Resolution
      4. Speed
      5. Transparency
      6. Animation
    2. Getting Images
      1. To get images
    3. The Save for Web Command
      1. To use Adobe’s Save for Web command
    4. Making Images Smaller
      1. To make images smaller
    5. Creating Transparency
      1. To create transparency
    6. Saving Images with Transparency
      1. To save images with transparency
    7. Simulating Transparency
      1. To simulate transparency by making the background a solid color
    8. Using (Mostly) Browser Safe Colors
      1. To preview dither
      2. To convert all colors to Web-safe
      3. To convert selected colors to Websafe colors (Photoshop only)
    9. Reducing the Number of Colors
      1. To reduce the number of colors
    10. Showing Images Progressively
      1. To show images progressively
    11. Blurring Images to Aid JPEG Compression
      1. To blur images to aid JPEG compression
    12. Creating Animated GIFs
      1. To create an animated GIF
  9. 6. Using Images
    1. Inserting Images on a Page
      1. To insert an image on a page
    2. Offering Alternate Text
      1. To offer alternate text when images don’t appear
    3. Specifying Size for Speedier Viewing
      1. To find the size of your image with your browser
      2. To figure out the size of your image with Photoshop or Photoshop Elements
      3. To specify the size of your image for speedier viewing
    4. Scaling an Image
      1. To scale an image
    5. Linking Thumbnails to Images
      1. To link a thumbnail to a larger image
    6. Making Images Float
      1. To make images float
      2. To float images on both sides
    7. Stopping Elements from Wrapping
      1. To stop elements from wrapping
    8. Adding Space around an Image
      1. To add space around an image
    9. Aligning Images
      1. To align an image with text
    10. Adding Horizontal Rules
      1. To insert a horizontal rule
  10. 7. Links
    1. Creating a Link to Another Web Page
      1. To create a link to another Web page
    2. Creating Anchors
      1. To create an anchor
    3. Linking to a Specific Anchor
      1. To create a link to an anchor
    4. Targeting Links to Specific Windows
      1. To target links
    5. Setting the Default Target
      1. To set a default target for a page
    6. Creating Other Kinds of Links
      1. To create other kinds of links
    7. Creating Keyboard Shortcuts for Links
      1. To add a keyboard shortcut to a link
    8. Setting the Tab Order for Links
      1. To set the tab order
    9. Using Images to Label Links
      1. To use images to label links
    10. Dividing an Image into Clickable Regions
      1. To divide an image into clickable regions
    11. Creating a Client-Side Image Map
      1. To create a client-side image map
    12. Using a Server-Side Image Map
      1. To use a server-side image map
  11. 8. Creating Styles
    1. Constructing a Style Rule
      1. To construct a style rule
    2. Constructing Selectors
    3. Selecting Elements by Name
      1. To select elements to format based on their type
    4. Selecting Elements by Class or ID
      1. To select elements to format based on their class
      2. To select elements to format based on their id
    5. Selecting Elements by Context
      1. To select elements to format based on their ancestor
      2. To select elements to format based on their parent
      3. To select elements to format that are the first child of their parent
      4. To select elements to format based on an adjacent sibling
    6. Selecting Link Elements Based on Their State
      1. To select link elements to format based on their state
    7. Selecting Part of an Element
      1. To select the first line of an element
      2. To select the first letter of an element
    8. Selecting Elements Based on Attributes
      1. To select elements to format based on their attributes
    9. Specifying Groups of Elements
      1. To apply styles to groups of elements
    10. Combining Selectors
      1. To combine selectors
  12. 9. Applying Styles
    1. Creating an External Style Sheet
      1. To create an external style sheet
    2. Linking External Style Sheets
      1. To link an external style sheet
    3. Offering Alternate Style Sheets
      1. To offer alternate style sheets
    4. Creating an Internal Style Sheet
      1. To create an internal style sheet
    5. Importing External Style Sheets
      1. To import an external style sheet
    6. Applying Styles Locally
      1. To apply styles locally
    7. The Importance of Location
    8. Adding Comments to Style Rules
      1. To add comments to style rules
  13. 10. Formatting With Styles
    1. Choosing a Font Family
      1. To set the font family
    2. Embedding Fonts on a Page
      1. To embed fonts on a page
    3. Creating Italics
      1. To create italics
      2. To remove italics
    4. Applying Bold Formatting
      1. To apply bold formatting
      2. To remove bold formatting
    5. Setting the Font Size
      1. To mandate a specific font size
      2. To set a size that depends on the parent element’s size
    6. Setting the Line Height
      1. To set the line height
    7. Setting All Font Values at Once
      1. To set all font values at once
    8. Setting the Text Color
      1. To set the text color
    9. Changing the Text’s Background
      1. To change the text’s background
    10. Controlling Spacing
      1. To specify tracking
      2. To specify kerning
    11. Adding Indents
      1. To add indents
    12. Setting White Space Properties
      1. To set white space properties
    13. Aligning Text
      1. To align text
    14. Changing the Text Case
      1. To change the text case
    15. Using Small Caps
      1. To use a small caps font
      2. To remove small caps
    16. Decorating Text
      1. To decorate text
      2. To get rid of decorations
  14. 11. Layout with Styles
    1. Structuring Your Pages
      1. To structure your page
    2. The Box Model
    3. Displaying and Hiding Elements
      1. To specify how elements should be displayed
    4. Positioning Elements Absolutely
      1. To absolutely position elements
    5. Affixing an Element to the Browser Window
      1. To affix an element to the browser window
    6. Offsetting Elements In the Natural Flow
      1. To offset elements within the natural flow
    7. Changing the Background
      1. To change the background color
      2. To use a background image
      3. To repeat a background image
      4. To control whether the background image is attached or not
      5. To specify the position of an element’s background image
      6. To change all the background properties at once
    8. Changing the Foreground Color
      1. To change the foreground color
    9. Changing the Cursor
      1. To change the cursor
    10. Setting the Border
      1. To define the border-style
      2. To set the width of the border
      3. To set the color of the border
      4. To set one or more border properties at once with a shortcut
    11. Adding Padding around an Element
      1. To add padding around an element
    12. Setting the Margins around an Element
      1. To set an element’s margins
    13. Setting the Height or Width for an Element
      1. To set the height or width for an element
      2. Width, margins, and auto
    14. Positioning Elements in 3D
      1. To position elements in 3D
    15. Determining Where Overflow Should Go
      1. To determine where overflow should go
    16. Making Elements Float
      1. To wrap text around elements
    17. Controlling Where Elements Float
      1. To control where elements float
    18. Aligning Elements Vertically
      1. To position elements vertically
  15. 12. Style Sheets for Printing
    1. Using Media-Specific Style Sheets
      1. To designate media-specific style sheets
    2. How Print Style Sheets Differ
      1. Suggestions for print style sheets
    3. Controlling Page Breaks
      1. To control page breaks before elements
      2. To keep elements from being divided between two pages
    4. Other Print Specific CSS Properties
      1. To describe the pages for printed output
      2. To print certain elements on specific kinds of pages
      3. To control widows and orphans
  16. 13. Lists
    1. Creating Ordered and Unordered Lists
      1. To create ordered lists
    2. Choosing Your Markers (Bullets)
      1. To choose your markers
      2. To display lists without markers
    3. Choosing Where to Start List Numbering
      1. To determine the initial value of an entire list’s numbering scheme
      2. To change the numbering of a given list item
    4. Using Custom Markers
      1. To use custom markers
      2. To remove custom markers
    5. Controlling Where Markers Hang
      1. To control where markers hang
    6. Setting All List-Style Properties at Once
      1. To set all the list-style properties at once
    7. Creating Definition Lists
      1. To create definition lists
    8. Styling Nested Lists
      1. To style nested lists
  17. 14. Tables
    1. Mapping Out Your Page
      1. To map out your page
    2. Creating a Simple Table
      1. To create a simple table
    3. Adding a Border
      1. To create a border with (X)HTML
      2. To create a border with styles
    4. Setting the Width
      1. To set the width of a cell or table
      2. To set the width with styles
    5. Centering a Table on the Page
      1. To center a table on the page
      2. To center a table on the page with CSS
    6. Wrapping Text around a Table
      1. To wrap text around a table with (X)HTML
      2. To wrap text around a table with CSS
    7. Combining Tables
      1. To nest one table in another
      2. To use multiple tables
    8. Aligning a Cell’s Contents
      1. To align the contents of cells with (X)HTML
      2. To align the contents of cells with CSS
    9. Changing the Background
      1. To change a cell’s background color with (X)HTML
      2. To add a cell’s background image with (X)HTML
      3. To change a cell’s background image or color with CSS
    10. Controlling the Space
      1. To control the padding with (X)HTML
      2. To control the spacing with (X)HTML
      3. To control the padding with CSS
      4. To control the space between cell borders with CSS
    11. Spanning a Cell across Columns
      1. To span a cell across two columns
    12. Spanning a Cell across Rows
      1. To span a cell across two or more rows
    13. Dividing Your Table into Column Groups
      1. To divide a table into structural column groups
      2. To divide a table into non-structural column groups
    14. Dividing the Table into Horizontal Sections
      1. To divide the table into horizontal sections
    15. Choosing Which Borders to Display
      1. To choose which external sides should have a border
      2. To choose which internal borders should be displayed
    16. Controlling Line Breaks in a Cell
      1. To keep text in a cell on one single line
    17. Speeding up Table Display
      1. To speed up table display
  18. 15. Frames
    1. Creating a Simple Frameset
      1. To create a simple frameset
    2. Creating Frames in Columns
      1. To create frames in columns
    3. Creating Frames in Rows and Columns
      1. To create a frameset with both rows and columns
    4. Combining Framesets
      1. To combine framesets
    5. Creating an Inline Frame
      1. To create an inline frame
    6. Adjusting a Frame’s Margins
      1. To adjust a frame’s margins
    7. Showing or Hiding Scroll Bars
      1. To show scroll bars all the time
      2. To hide scroll bars all the time
    8. Adjusting the Color of the Borders
      1. To adjust the color of all the borders in the frameset
      2. To change the color of rows, columns, or individual frames
    9. Adjusting the Frame Borders
      1. To adjust the amount of space between frames
      2. To hide the sculpted borders
    10. Keeping Visitors from Resizing Frames
      1. To keep visitors from resizing your frames
    11. Targeting Links to Particular Frames
      1. To target a link to a particular frame
    12. Targeting Links to Special Spots
      1. To target a link to a special spot
    13. Changing the Default Target
      1. To change the default target
    14. Nesting Framesets
      1. To nest framesets
    15. Offering Alternatives to Frames
      1. To offer alternatives to frames
    16. Embedding Content with Objects
      1. To embed content without frames
    17. Making Frames More Accessible
      1. To make frame-based sites more accessible
  19. 16. Forms
    1. About CGI Scripts
      1. What does the CGI script do?
      2. Security
    2. Getting a Script
      1. CPAN
      2. The CGI Resource Index
      4. The WebScripts Archive
    3. Using the Scripts Included with This Book
      1. To use the scripts included with this book
    4. Preparing a Script
      1. Adapting scripts for your use
      2. Transferring the script to the server
      3. Permissions
      4. Add it to your form!
    5. Creating a Form
      1. To create a form
    6. Sending Form Data via E-mail
      1. To send form data via e-mail
    7. Using a Form Hosting Service
      1. To use a form hosting service
    8. Creating Text Boxes
      1. To create a text box
    9. Creating Password Boxes
      1. To create password boxes
    10. Creating Radio Buttons
      1. To create a radio button
    11. Creating Checkboxes
      1. To create checkboxes
    12. Creating Menus
      1. To create menus
      2. To group menu options
    13. Creating Larger Text Areas
      1. To create larger text areas
    14. Allowing Visitors to Upload Files
      1. To allow visitors to upload files
    15. About Hidden Fields
    16. Adding Hidden Fields to a Form
      1. To add hidden fields to a form
    17. Creating the Submit Button
      1. To create a submit button
      2. To create a submit button with an image
    18. Resetting the Form
      1. To create a reset button
      2. To create a reset button with an image
    19. Using an Image to Submit Data
      1. To use an image to submit data
    20. Organizing the Form Elements
      1. To organize the form elements
    21. Formally Labeling Form Parts
      1. To formally label form parts
    22. Setting the Tab Order in a Form
      1. To set the tab order
    23. Adding Keyboard Shortcuts
      1. To add a keyboard shortcut to a form element
    24. Disabling Form Elements
      1. To disable a form element
    25. Keeping Elements from Being Changed
      1. To keep elements from being changed
  20. 17. Multimedia
    1. Of Plugins and Players
    2. Getting Players for Your Visitors
    3. Getting Multimedia Files
    4. Embedding QuickTime Movies
      1. To add internal video with QuickTime
    5. Scaling a QuickTime Movie
      1. To scale a QuickTime movie
    6. Looping a QuickTime Movie
      1. To loop a QuickTime movie
    7. Putting QuickTime Sounds on a Page
      1. To put QuickTime sounds on a page
    8. Hiding QuickTime Sounds
      1. To hide QuickTime sounds
    9. Embedding Windows Media Player Files
      1. To embed Windows Media Player files
    10. Inserting Java Applets
      1. To insert an applet
    11. Embedding Other Multimedia Files
      1. To embed other multimedia files
    12. Linking to Multimedia Files
      1. To link to multimedia files
    13. Creating an Automatic Slide Show
      1. To create an automatic slide show
    14. Creating a Marquee
      1. To create a marquee
    15. Adding Background Sound
      1. To add background sound
  21. 18. Scripts
    1. Adding an “Automatic” Script
      1. To add an automatic script
    2. Calling an External Automatic Script
      1. To call an external automatic script
    3. Triggering a Script
      1. To trigger a script
    4. Creating a Button that Executes a Script
      1. To create a button that executes a script
    5. Adding Alternate Information
      1. To add alternate information for older browsers
    6. Hiding Scripts from Older Browsers
      1. To hide scripts from older browsers
    7. Hiding Scripts from XML Parsers
      1. To hide internal scripts from XML parsers
    8. Setting the Default Scripting Language
      1. To set the default scripting language
  22. 19. Javascript Essentials
    1. Adding the Current Date and Time
      1. To add the current date and time to your page
    2. Changing a Link’s Status Label
      1. To change a link’s status label
    3. Changing Multiple Frames with One Link
      1. To change multiple frames with just one link
    4. Keeping Frames in Their Framesets
      1. To keep frames in their framesets
    5. Changing an Image When a Visitor Points
      1. To change an image when the visitor points at it
    6. Loading Images into Cache
      1. To load images into cache
    7. Controlling a New Window’s Size
      1. To control the size of a new window
  23. 20. Symbols and Non-English Characters
    1. About Character Encodings
    2. Saving Your Page with the Proper Encoding
      1. To save your page with the proper encoding
    3. Editing a Page with the Proper Encoding
      1. To edit a page with the proper encoding
    4. Declaring Your Page’s Character Encoding
      1. To declare your page’s character encoding
    5. Adding Characters from Outside the Encoding
      1. To add characters from outside the encoding
    6. Specifying Your Page’s Language
      1. To specify a page’s language
  24. 21. Formatting: The Old Way
    1. Choosing Default Characteristics for Text
      1. To choose default characteristics for body text
    2. Formatting Bits of Text
      1. To format bits of text
    3. Another Way to Choose Default Colors
      1. To choose a default color for text
    4. Changing the Color of Links
      1. To change the color of links
    5. Striking Out or Underlining Text
      1. To strike out or underline text
    6. Making Text Blink
      1. To make text blink
  25. 22. Layout: The Old Way
    1. Using Background Color
      1. To set the background color
    2. Using Background Images
      1. To use a background image
    3. Centering Elements on a Page
      1. To center elements on a page
    4. Specifying the Margins
      1. To specify the margins
    5. Keeping Lines Together
      1. To keep elements on one line
    6. Creating Discretionary Line Breaks
      1. To create discretionary line breaks
    7. Specifying the Space Between Paragraphs
      1. To specify the space between paragraphs
    8. Creating Indents
      1. To create indents
    9. Creating Indents (with Lists)
      1. To create indents with lists
    10. Creating Blocks of Space
      1. To create blocks of space
    11. Using Pixel Shims
      1. To use a pixel shim
    12. Creating Columns
      1. To create columns
    13. Positioning Elements with Layers
      1. To position elements with layers
  26. 23. WML: Web Pages for Mobile Devices
    1. Preparing Your Server
      1. To prepare an Apache server to serve WML files and images from a particular directory
    2. Starting Your WML Page
      1. To start your WML page
    3. Creating a Card
      1. To create a card
    4. Creating Basic Content
      1. To create basic content
    5. Including an Image
      1. To include an image
    6. Creating a Table
      1. To create a table
    7. Creating a Link
      1. To create a link in the page
    8. Programming Buttons
      1. To use buttons
    9. Creating Conditional Actions
      1. To specify a conditional action
    10. Scheduling an Action
      1. To schedule an action
    11. Making a Call
      1. To create the card that makes a call
      2. To make a call
    12. Setting and Using Variables
      1. To set a variable explicitly
      2. To display a variable’s content
    13. Creating Input Boxes
      1. To create input boxes
    14. Creating Menus
      1. To create menus
    15. Processing Data from Visitors
      1. To process data from visitors
    16. Creating Elements on Multiple Pages
      1. To create elements on multiple pages
    17. Restricting Access to a Deck
      1. To restrict access to a deck
    18. Testing WML Pages
      1. To test WML pages
  27. 24. Testing and Debugging Web Pages
    1. Validating Your Code
      1. To validate your code
    2. Checking the Easy Stuff: HTML
      1. To check the easy stuff with HTML
    3. Checking the Easy Stuff: XHTML
      1. To check the easy stuff with XHTML
    4. Checking the Easy Stuff: CSS
      1. To check the easy stuff with CSS
    5. Testing Your Page
      1. To test your (X)HTML pages
    6. When the Browser Displays the Code
      1. When the browser displays the code instead of the page
    7. When Images Don’t Appear
      1. When images don’t appear
    8. Differences from Browser to Browser
      1. When your page looks different from one browser to the next
    9. When Nothing Appears in Netscape 4
      1. When the page looks fine in other browsers, but doesn’t appear in Netscape 4
    10. Still Stuck?
  28. 25. Publishing Your Pages on the Web
    1. Finding a Host for Your Site
    2. Getting Your Own Domain Name
      1. To get your own domain name
    3. Transferring Files to the Server
      1. To define a new FTP site’s properties
      2. To set up WS_FTP to transfer HTML files as text (in ASCII mode)
      3. To transfer files to the server with WS_FTP (for Windows)
      4. To transfer HTML files to the server with Fetch (for the Mac)
    4. Transferring Files to AOL
      1. To transfer a file with AOL’s tools
  29. 26. Getting People to Visit
    1. About Keywords
      1. Do
      2. But...
    2. Explicitly Listing Keywords
      1. To explicitly list keywords
    3. Providing a Description of Your Page
      1. To control your page’s summary
    4. Controlling Other Information
      1. To control other information about your page
    5. Keeping Visitors Away
      1. To keep search engine robots out
    6. Keeping Pages From Being Archived
      1. To keep search engines from archiving your pages
    7. Creating a Crawler Page
      1. To create a crawler page in Explorer
      2. To create a crawler page with Netscape
    8. Submitting Your Site to a Search Engine
      1. To submit your site to a search engine
    9. Improving Your Ranking by Getting Linked
      1. To improve your ranking by getting linked
    10. Writing Pages That Are Easy to Index
      1. Frames
      2. Image maps
      3. Dynamically generated pages
    11. Other Techniques for Publicizing Your Site
  30. A. (X)HTML Elements and Attributes
  31. B. CSS Properties and Values
  32. C. Intrinsic Events
  33. D. (X)HTML Symbols and Characters
    1. Characters with special meaning in HTML and XHTML
    2. Accented characters, accents, and other diacritics from Western European Languages
    3. Punctuation characters
    4. Mathematical and technical characters, (including Greek)
    5. Shapes and Arrows
  34. E. Hexadecimals
  35. F. (X)HTML Tools
    1. (X)HTML Editors
    2. Images and Graphics
    3. Graphics Tools
  36. Colophon

Product information

  • Title: HTML for the World Wide Web, Fifth Edition, with XHTML and CSS
  • Author(s): Elizabeth Castro
  • Release date: September 2002
  • Publisher(s): Peachpit Press
  • ISBN: 9780321130075