Book HomeCascading Style Sheets: The Definitive GuideSearch this book Wednesday 13th of December 2017 08:04:37 PM

A.4. Bug Reporting

So you've validated your styles, checked for browser support, talked with experts, and it turns out that you've found a new bug in your web browser -- one that nobody has yet mentioned online, and that you suspect may have been previously unknown. Here's how to let the browser manufacturer know.

all elements


Percentage values refer to the width of the parent element.


Reporting page

These properties operate as you'd expect by now. For example, the following two



(Select "Reporting a product bug" from the Microsoft Products menu.)



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.

You can stop text wrapping by including a CLEAR attribute in aline-break tag. 
Move your mouse over the image and you'll see the text that's specifiedin 
the ALT attribute.For better layout control, specify image dimensions, horizontal andvertical padding space (in pixels, 72 pixels/inch), alignment, etc. Ugly Guy!Specifyingimage dimensions lets the client browser block out the space and composethe page quicker. 
You can stop text wrapping by including a CLEAR attribute in a line-break

8.2.1. Vertical Formatting

Vertical formatting is much easierto cover, so let's do that first. A good deal of this wascovered in the previous chapter, so we'll revisit the highpoints and delve into some trivia before moving on to the much morecomplex subject of horizontal formatting. Height

Inelement, which will push the borders away from the text itself (shownin Figure 8-58):

SPAN {border: 1px dashed black; padding: 4pt;}
Figure 8-58

Figure 8-58. Inline padding and line-box layout

Note that this padding does not alter the actual shape of thecontent-height, and so will not affect the height of the inline boxfor this element. Adding borders to an inline element will not affectthe way line boxes are generated, as Figure 8-59illustrates.



Applies to
How can XML help app servers do their work? As you can see in Figure 2, in order for the app server to harvest information from such a rich variety of sources, there must be some common ground between all of these sources (each of which might be running on a different hardware and software system). This common ground is the information which flows throughout the entire system, regardless of what source the information comes from. CORBA is an example of tying disparate systems together based on the interfaces that certain remote objects implement. XML does the same thing for data. It allows these disparate systems to share information in a medium that consists only of pure information (and the structural relationships that exist inside of that information). By taking the lowest common denominator approach by using plain text to encode data, XML allows these systems to talk with each other without requiring any special binary information format converters or other service layers to translate between binary formats (for encoding data). Also, since HTTP already supports transmission of plain text, it is completely natural to move XML around using the Hyper Text Transfer Protocol through firewalls and disparate networks. This is shown in Figure 3. XML can be transmitted between systems using one of the most prevalent protocols in use today, Hypertext Transfer Protocol or HTTP 1.1 (which is the protocol of the web).

App server developers are not restricted to using HTTP, they can transmit and recieve XML information using simple remote CORBA objects and RMI objects. The key is that by using XML, it makes these remote services or objects easier to build. And, by sticking with XML, any one of these technologies can be used in your design of your app server. You can use whatever technology is most appropriate to getting the job done, knowing that all the information flows as XML and can be processed by any part of the system. The reason Java object serialization did not achieve this is because it encodes object data to a binary format that is dependent on too many things (like the JVM version, and the existence of classes when things are deserialized, etc). XML is not limited by any of these restrictions (or problems), which makes it much easier to create systems that allow XML information to flow between different subsystems. Also by relying only on the data, large portions of the system can be replaced with better or different implementations for future-readiness.

App servers traditionally give their client apps access to information in remote databases, remote file systems, remote object repositories, remote web resources, and even other app servers. All these information sources don't even need to reside on the machine that hosts the app server. These remote resources may be on other machines on the Intranet or the Internet. Using Java and XML, RMI, JDBC, CORBA, JNDI, Servlet and Swing, you can create app servers that can integrate all kinds of remote and local information resources, and client apps that allow you to remotely or locally access this information from the app server.

In the future, with publicly available DTDs that are standardized for each vertical industry, XML based app servers will become very popular. Also when XML schema repositories become available and widely used, app servers will be able to take on a new role and provide application services that are not offered now. Companies will need to share information with other companies in related fields, and each company might have a different software system in which all their data is housed. By agreeing upon a set of DTDs or schemas (encoded in XML), these companies can exchange information with each other regardless of what systems they are using to store this information. If their app servers can exchange XML documents (based on some shared DTD or schema), then these disparate app servers can understand each other and share information. One of the uses for XML foreseen by the W3C is just this, vertical industries (like insurance and health care) creating sets of DTDs and schemas that all companies in the industry agree upon. Then these companies' app servers can talk to each other using some popular protocol (like HTTP or CORBA/IIOP) to exchange information between each other. This has the potential to save a lot of time and money in the daily business operations of these companies.