Claims
- 1. A computer system for rendering content on a device in response to a request from the device, the system comprising:
a plurality of server objects containing information related to the display of the content on the device; a state-machine coupled to the plurality of server objects and configured to preserve a current style state and a desired style state; and a writer coupled to the state-machine and configured to dynamically determine whether the current style state matches the desired style state, and if not, output a sufficient number of markup tags to transition from the current style state to the desired style state, wherein at least one unnecessary markup tag is not written to the device.
- 2. The computer system of claim 1, further comprising a device capabilities component coupled to the writer and configured to provide to the writer capabilities of the device by extracting an identification from the request of the device.
- 3. The computer system of claim 2, wherein the writer further dynamically determines the sufficient number of markup tags to be written such that markup tags not supported by the capabilities of the device are identified as unnecessary.
- 4. The computer system of claim 1, wherein the state-machine further comprises:
a tag stack having a first pushdown list in which information is stored about what markup tags have been written to the device; a style stack having a second pushdown list in which information is stored about markup tags representing the desired style state; and a current state register that stores markup tags that represent the current style state.
- 5. The computer system of claim 4, wherein the tag stack and the style stack are configured as last-in-first-out data structures.
- 6. The computer system of claim 1, wherein the writer further determines whether the desired style state includes markup tags that ignore current style state markup tags;
if the desired style state includes markup tags that ignore current style state markup tags, then performing steps comprising: pushing the state-machine onto a state-machine stack; instantiating a second state-machine configured to preserve the desired style state; and if the desired style state markup tags that ignore markup tags have been closed, popping the state-machine from the state-machine stack.
- 7. A computer-implemented method for providing markup output to a requesting device, comprising:
receiving a request for the markup output; receiving a desired style state that represents a desired style state of markup tags; comparing the desired style state to a current style state that represents a current style state of markup tags; and if the desired style state is different from the current style state, outputting a sufficient number of markup tags to transition from the current style state to the desired style state, wherein at least one unnecessary markup tag is not written to the device.
- 8. The computer-implemented method of claim 7, wherein the current style state matches a previously received desired style state.
- 9. The computer-implemented method of claim 8, wherein the desired style state is stored on a stack.
- 10. The computer-implemented method of claim 7, wherein outputting a sufficient number of markup tags further comprises delaying actually writing out a closing markup tag until the desired style state conflicts with the current style state.
- 11. The computer-implemented method of claim 7, wherein outputting a sufficient number of markup tags further comprises nesting markup tags in a predetermined order that causes unnecessary close markup tags to be omitted.
- 12. A computer-implemented method for providing markup output to a requesting device, the method comprising:
receiving a request for the markup output from a request; determining a capability of the requesting device from the requesting device; receiving a desired style state that represents a desired style state of markup tags; comparing the desired style state to a current style state that represents a current style state of markup tags; and if the desired style state is different from the current style state, outputting a sufficient number of markup tags that are supported by the capability of the requesting device to transition from the current style state to the desired style state, wherein at least one unnecessary markup tag is not written to the device.
- 13. The computer-implemented method of claim 12, wherein the current style state matches a previously received desired style state.
- 14. The computer-implemented method of claim 13, wherein the desired style state is stored on a stack.
- 15. The computer-implemented method of claim 12, wherein outputting a sufficient number of markup tags further comprises delaying actually writing out a closing markup tag until the desired style state conflicts with the current style state.
- 16. The computer-implemented method of claim 12, wherein outputting a sufficient number of markup tags further comprises nesting markup tags in a predetermined order that causes unnecessary close markup tags to be omitted.
- 17. A computer-readable medium having computer-executable components for providing markup output to a requesting device, the components comprising:
a device capabilities component that determines capabilities of the requesting device; a plurality of server object components containing information related to the display of the content on the device; a state-machine component coupled to the plurality of server object components and configured to preserve a current style state and a desired style state; and a writer component coupled to the state-machine and configured to dynamically determine whether the current style state matches the desired style state, and if not, output a sufficient number of markup tags that are supported by the capability of the requesting device to transition from the current style state to the desired style state, wherein at least one unnecessary markup tag is not written to the device.
- 18. The computer-readable medium of claim 17, wherein the state-machine component further comprising:
a tag stack component having a first pushdown list in which information is stored about what markup tags have been written to the requesting device; a style stack component having a second pushdown list in which information is stored about storing markup tags representing the desired style state; and a current state register component that stores markup tags that represent the current style state.
- 19. The computer-readable medium of claim 17, wherein output of the sufficient number of markup tags further comprises delaying actually writing out a closing markup tag until the desired style state conflicts with the current style state.
- 20. The computer-readable medium of claim 17, wherein output of the sufficient number of markup tags further comprises nesting markup tags in a predetermined order that causes unnecessary close markup tags to be omitted.
- 21. The computer-readable medium of claim 17, wherein the tag stack and the style stack are configured as last-in-first-out data structures.
- 22. A computer system for providing markup output sent to a device, comprising:
means for receiving a request for the markup output from a device; means for determining a capability of the device from the request; means for receiving a desired style state that represents a desired style state of markup tags; means for comparing the desired style state to a current style state that represents a current style state of markup tags; and if the desired style state is different from the current style state, a means for outputting a sufficient number of markup tags that are supported by the capability of the device to transition from the current style state to the desired style state, wherein at least one unnecessary markup tag is not written to the device.
RELATED APPLICATIONS
[0001] This utility patent application is a continuation of a previously filed U.S. Provisional Application No. 60/317,160 filed on Sep. 4, 2001, the benefit of the filing date, which is hereby claimed under 35 U.S.C. §119(e).
Provisional Applications (1)
|
Number |
Date |
Country |
|
60317160 |
Sep 2001 |
US |