WO2000054174A1 - Extending the capabilities of an xsl style sheet to include components for content transformation - Google Patents

Extending the capabilities of an xsl style sheet to include components for content transformation Download PDF

Info

Publication number
WO2000054174A1
WO2000054174A1 PCT/US2000/006379 US0006379W WO0054174A1 WO 2000054174 A1 WO2000054174 A1 WO 2000054174A1 US 0006379 W US0006379 W US 0006379W WO 0054174 A1 WO0054174 A1 WO 0054174A1
Authority
WO
WIPO (PCT)
Prior art keywords
style sheet
external component
document
processing
component
Prior art date
Application number
PCT/US2000/006379
Other languages
French (fr)
Other versions
WO2000054174A8 (en
Inventor
L. Umit Yalcinalp
Original Assignee
Sun Microsystems, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems, Inc. filed Critical Sun Microsystems, Inc.
Priority to EP00916254A priority Critical patent/EP1218830A4/en
Priority to JP2000604330A priority patent/JP2003521755A/en
Publication of WO2000054174A1 publication Critical patent/WO2000054174A1/en
Publication of WO2000054174A8 publication Critical patent/WO2000054174A8/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents

Definitions

  • the present invention relates to the use of style sheets in creating a document, and more particularly, to the use of external components in an XSL style sheet.
  • Style sheets provide greater flexibility and control over the display of a document's content.
  • XSL style sheets also allow the content of documents to be transformed, making them as document transformers where the resulting documents may or may not be used for display.
  • a user may request a document and the application associated with the document will use the information contained in the style sheet to display a new document incorporating the information contained within the style sheet and the requested document.
  • an XSL style sheet includes the use of tags.
  • Tags are codes that identify an element in the document, such as heading or font, for the purpose of formatting the document. For example, the tag " ⁇ BOLD>" indicates that the text associated with this tag should appear in bold.
  • Style sheets also, however, have become more advanced, to include a type of programming language.
  • An example of this is an Extensible Style Language (XSL) style sheet.
  • XSL is a declarative style sheet language specified in Extensible Markup Language (XML) which can also be used to transform XSL documents.
  • XML Extensible Markup Language
  • the XSL is actually more analogous to a programming language than to a mechanism designed purely to analyze tags and display attributes.
  • developers may provide functionality by creating their own customized tags. For example, XML supports links that point to multiple documents, as opposed to HTML links, which can reference just one destination each.
  • XML documents may be served to different clients with varied interests and capabilities. For example, a PC running NETSCAPE may require a document formatted differently than a PDA would.
  • XSL is the style language used by XML to allow different clients to receive different XML documents.
  • XSL is a specification language for separating style from content when creating XML or HTML pages.
  • XSL style sheets allow a single style to be applied to multiple documents.
  • style sheets there are limitations to the use of style sheets. An application utilizing a style sheet to display a document often requires that the information contained in the style sheet be application dependent. In other words, the application must be aware of all the tag definitions.
  • style sheets typically are not very robust and while they use a programming language, do not provide for external calls to components or libraries which may be used to aid in the modification of document information to be displayed.
  • XSL style sheets have been limited. Information contained within the XSL style sheet must be defined within the application and the XSL style sheet itself, and therefore the style sheet becomes application dependent. This sometimes is not desirable when using a style sheet across multiple applications, in which case a separate style sheet for each application would need to be developed. Furthermore, the XSL style sheet is completely self-contained in that no modules or functions can be called outside the style sheet itself. Therefore, what is needed in the art is the ability to create a style sheet that is application independent and to provide a means for creating application dependent functions within that style sheet.
  • a method of creating a transform document using a style sheet comprises the steps of receiving a request for an input document, retrieving the style sheet, having tags, associated with the input document, wherein one of the tags represents an external component, processing the tags, including one tag representing an external component, in the style sheet to generate a transform document, and processing a method associated with the external component.
  • An additional step of placing the results of processing the method associated with the external component in the transform document may be performed.
  • the method associated with the external component may generate application specific results.
  • the style sheet may contain commands written in an XSL format.
  • the step of processing the method associated with the external component may include loading the external component in an XSLT processor and initiating the execution of the method associated with the external component.
  • the step of validating the style sheet and the input document may be performed.
  • the step of locating an existing instance of the external component, wherein the processing of the one tag representing an external component includes using the existing instance may be performed.
  • a method for executing an external component in a style sheet comprising the steps of defining an external component to a style sheet processor, providing a definition of the external component in the style sheet, and processing the external component by the style sheet processor.
  • the steps of loading the external component into the style sheet processor, calling the method associated with the external component defined in the style sheet, and passing an argument contained in the style sheet to the external component for use by the method may also be performed.
  • the step of loading the external component including the step of locating an existing instance of the external component may also be performed.
  • the external component may be defined to an XSLT processor and the style sheet using a Namespace. And, an application associated with an input document using the style sheet may not recognize the external component.
  • Processing the external component may include executing a method associated with the external component which generates a result, and placing the result in a transform document.
  • a system for processing external components in a style sheet comprises a style sheet containing a definition of an external component and a definition of a method associated with the external component, and a style sheet processor operative to receive a request for an input document, retrieve the style sheet, and call the method associated with the external component defined in the style sheet.
  • the style sheet may contain an argument to pass to the method associated with the external component.
  • a Namespace may be used in defining the external component to the style sheet and the style sheet processor.
  • the style sheet processor may be an XSLT processor and the style sheet contains tags written in an XSL format.
  • the style sheet processor may be further operative to generate a transform document and to insert a result of the call to the method associated with the external component.
  • FIG. 1 depicts a data processing system suitable for practicing methods and systems in a manner consistent with exemplary embodiments of the present invention
  • FIG. 2 depicts a more detailed view of an XSLT processor and components related to the XSLT processor suitable for practicing methods and systems in a manner consistent with an exemplary embodiment of the present invention
  • Fig. 3 is a flowchart depicting a high level process of generating a transform document using the results of an external call contained within a style sheet
  • Fig. 4 is a flowchart depicting the process for generating a transform document containing the result of executing a method associated with an external component
  • Fig. 5 is a method for creating and processing external components in a style sheet.
  • Systems and methods consistent with the present invention use a Namespace paradigm to define an external component to a style sheet.
  • Namespaces are covered in more detail by the "Namespaces in XML" recommendation specification by the World Wide Web Consortium.
  • the style sheet processor processes the tags in the style sheet, it recognizes the external component declaration and a locator to load the component.
  • the style sheet will also contain a definition of the method to execute associated with the external component and a name which designates a particular instance of a component, and may contain arguments for the method which is executing.
  • the style sheet processor, or the XSLT processor in one embodiment, then relinquishes control to the named external component instance to execute the method defined in the style sheet.
  • the results of the method's execution may be placed in the new document generated by processing the style sheet.
  • XSL external components may treat the document specific tags as its input declared by specific Namespaces that designate an input document.
  • the tags that pertain to an external component which are also declared with respect to a particular Namespace will be recognized by the XSLT processor during the validation of a style sheet as declarations of component invocations.
  • an XSLT processor will use the component specification along with arguments defined in the XSL style sheet to perform the external component method defined to the XSLT processor associated with the particular component.
  • the specific instances of a component may designated by a name.
  • Processing the external component may include executing a method associated with the external component's instance which generates a result and placing the result in a document.
  • the XSLT processor also ensures that a global processing context which is initialized during the validation step by the XSLT processor and can be shared by all the components and their instances referenced within a style sheet during processing of a document is made available to the component instances during processing.
  • the components can utilize the context in their execution and hence change the content of the output document.
  • the components also have access to the current document fragment that is processed by the style sheet and means of generating fragments of a transformed document.
  • the generated result may depend on the context which the XSLT processor supplies to the component's instance. Multiple components or component instances can share the context during an execution.
  • Figure 1 depicts a data processing system suitable for practicing methods and systems in a manner consistent with exemplary embodiments of the present invention.
  • application server 104 includes a memory 102, a secondary storage device 112, a CPU 116, an input device 118, and a video display 120.
  • Memory 102 includes application 104, transformation engine 106, registry 108, and
  • Transformation engine 106 maintains mapping of all XSL translations, responds to queries from application 104, publishes new registries, and runs an informative servlet.
  • a servlet is a Java applet that runs on a server. Transformation engine 106 may contain a web interface, Application Program Interface (API), or other input interface.
  • An API is a set of routines, protocols, or tools for communicating with software applications. APIs provide efficient access to the registry without the need for additional software to interface with the file.
  • Memory 102 contains an XSLT processor 110 that applies the XSL transformation to XML document 106.
  • Secondary storage device 112 contains a registry as XML Document 114. This registry 114 is an XML representation of registry 108. Registry 114 serves as a backup that may be easily loaded into memory 102.
  • Figure 2 depicts a more detailed view of an XSLT processor and components related to the XSLT processor suitable for practicing methods and systems in a manner consistent with an exemplary embodiment of the present invention.
  • XSLT processor 205 interfaces with multiple modules in order to process an external component declared within a style sheet.
  • the user 200 may request a document and may provide to the XSLT processor 205 a client type.
  • the user client type might be a PDA or a browser on a PC.
  • the XSLT processor will process this request, and when complete, will send to the user a transform document.
  • the XSLT processor may perform many functions, several of which are depicted in Figure 2.
  • a validation module 210 will validate the input document request issued by the user and validate the style sheet that is associated with the input document request to ensure that the correct style sheet to generate a transform document is used and valid.
  • the XSLT processor will also understand the external component declarations specified with Namespaces in the style sheets and load them as necessary.
  • the style sheets and component processing module 215 are used to generate a transformed document for the user in response to the document request. This transformed document will incorporate the results of commands given within the style sheet, e.g., tags, and will also incorporate the results of any methods executed by an external component instance, if any.
  • An XML Parser 235 may be used to parse the input documents and style sheets.
  • An XML Document Builder 240 may be used to build a memory representation of the parsed documents or transformed documents.
  • the XSLT processor 205 accesses style sheets 220, components 225, and content, e.g., XML documents 230.
  • style sheets 220, components 225, documents 230 may be contained in memory within the data processing system described with respect to Figure 1 , in secondary storage or in other storage areas which the XSLT processor 205 can access.
  • the user will generate a document request.
  • the XSLT processor 205 will recognize, by examining the document request, an associated style sheet.
  • the XSLT processor 205 retrieves the appropriate style sheet associated with the document requested in order to process and generate a transform document to present to the user.
  • the components module 225 contains the external components that may be declared in the style sheet by way of a Namespace paradigm.
  • the XSLT processor may create an instance of the component if the named component instance has not been created, or use an already created component instance by looking it up with its name.
  • the XSLT processor may pass any arguments also defined in the style sheet and initiate the specific method execution in the external component instance.
  • Documents 230 contain input documents, i.e., those documents that contain the content of the document requested by the user, which the XSLT processor will use in conjunction with the style sheet to generate a transform document.
  • FIG. 3 is a flowchart depicting a high level process of generating a new document using the results of an external call contained within a style sheet.
  • This process begins by the user requesting a document having an associated style sheet (step 300).
  • the style sheet does not have to be application dependent.
  • the style sheet may contain XSLT language commands as well as reference to an external component. This external component may be used to generate application specific information or other information desired by the developer of the style sheet.
  • the client type of the user may be sent along with the document request. The client type will specify what type of client the user is, and will be an indication to the processor processing the user request how to format the transformed document specific to the client specification.
  • the method then proceeds to generate a transform document using the style sheet and an external call embedded in an external component in the style sheet (step 305).
  • the external call is to a named component instance and may perform a function defined by the developer creating the external call. In other words, it is not required that the external call perform some function related to the transformed document or even a function related to the document processing. It may be preferable for the developer of the style sheet to insert into the external function parameters and information that may be application dependent. However, as stated above, the external call may also perform various other types of processing.
  • the XSLT processor After processing the external call embedded in the external component, the XSLT processor continues to process the rest of the style sheet and the input document. Other methods of external components embedded within the style sheet might be activated as described above.
  • the process sends a transform document containing the results of the external call to the user (step 310).
  • the new document will be transformed or formatted using commands contained in a style sheet associated with the document requested by the user. For example, these commands may define display parameters and other aspects associated with the new document display on the client type for the user.
  • the style sheet may contain the definition of the external call, as well as any arguments that may be passed through the external call.
  • FIG. 4 is a flowchart depicting the process for generating a transform document containing the result of processing an external component in a style sheet.
  • the process begins by receiving a document request from a user (step 400). The user may request this by using a PC or other type of data processing system by which he has access to the XSLT processor.
  • the XSLT processor receives the document request and client type from the user and validates the document and the style sheet associated with the document (step 405).
  • the XSLT processor validates a document by using an XML parser and validates a style sheet by using an XML parser and using the XSL language.
  • XSL style sheets are written using the XSL language which is described in XML.
  • the XSLT processor then receives the style sheet containing reference to an external component (step 410).
  • the style sheet may be developed by a user when specifying how a document is to be transformed.
  • the user in the present invention may also specify an external component to the style sheet.
  • the user can also specify a named instance of a component which allows the user to activate different instances of the same external component to process different sections of a document.
  • the naming mechanism that is used as a parameter in the style sheet in referring a component designates a specific instance of an external component. Note that this is different than the Namespaces.
  • Namespaces describe extensions to recognize the component declaration elements in a style sheet.
  • Name attributes within the scope of a component identification element in the XSLT style sheet designate a specific instance of a particular component.
  • the external component may contain a definition of a method which produces results desired by the user. This external component does not need to be application dependent, however, application dependent information may be placed within the external component.
  • the component can also utilize a processing context passed by the XSLT processor. The process then checks to see if an instance of the external component already exists, i.e., is active, in the XSLT processor (Step 412). If it is determined that an instance is not found in Step 413, then the "No" branch is followed and an external component instance is created (Step 414). If it is determined that the instance is found in Step 413, then the "Yes" branch is followed to Step 415. Consequently, the name of the external component may play an important role in this process. If the XSLT processor has encountered this named component instance before, it locates and reuses the same component instance. Otherwise, the processor creates and initializes a fresh new instance and stores its name and the component reference in memory.
  • the style sheet processor begins processing the tags contained within the style sheet to generate the transformed document for the user which may or may not be used for display. If the style sheet contains an external component, as in one embodiment of the invention, a method will be defined to the external component. The process proceeds by executing the method in the external component instance (Step 415). As part of executing this method, various parameters, i.e., arguments, may be associated with the component that the user has specified in the style sheet. These parameters and the document fragment which is currently being processed by the style sheet will be passed to the external component that is being activated.
  • the XSLT processor when processing the style sheet, relinquishes control to the instance of the component so that it performs the method defined in the style sheet. After that method has been completed, processing returns to the XSLT processor to continue processing the style sheet and hence the input document.
  • the XSLT processor places in a transform document the results of the tag processing as well as the results of the executed method(s) (step 420).
  • This transform document is now transformed or formatted as desired by the user. It may contain the display characteristics or the transformed document content and tags as intended by the user, as well as the results of any external component processing as defined in the style sheet. Following the placement of the results of the tag processing, including external components, this new document is transmitted to the user using the associated client type (step 425).
  • Figure 5 is a method for creating and processing external components in a style sheet. This process begins by starting to validate a style sheet and declaring the component Namespace in the style sheet (step 500). This may be performed by defining it as a specific Namespace in the style sheet. The method of declaring Namespaces is well known to those skilled in the art. However, in this instance, the
  • Namespace being declared is a Namespace defining external component activation in a style sheet.
  • an external component identified by the specific Namespace declaration is identified and is defined to the XSLT processor (step 505).
  • the use of Namespaces is well known to those skilled in the art.
  • the Namespace paradigm may be used by an application such that when a specific module resides in the Namespace, the application will be aware of it and will know the location for their retrieval.
  • a component Namespace is defined to an XSLT library so that during the execution of the style sheet, the XSLT processor is aware that an external component is being defined, and it can preload and resolve components which are declared.
  • the XSLT processor Following definition of an external component Namespace to the XSLT processor and after validation of the style sheet is finished, the XSLT processor starts processing an input document with the validated style sheet and the loaded components. It processes the XSL language tags based on the language semantics and transforms the document in the process.
  • the XSLT processor looks up the named instance of a component which is specified by the component tag. The component tag also specifies a loading instruction which is handled during the verification step. If the named component instance does not exist, the processor creates a new instance and associates the name specified in the component element with this instance and uses it (Step 510), where it is processed. If the instance already exists, however, the XSLT processor reactivates the named instance.
  • Within the external component tag in one embodiment, is a method definition associated with the external component instance to be processed.
  • an external component tag is received from the style sheet (Step 515). This is an indication to the style sheet processor, the XSLT processor, that the following text associated with the component tag is for an external component associated with the Namespace declared within that style sheet.
  • This external component tag along with its Namespace declaration, provides an indication to the style sheet processor that there is an external component whose activation characteristics and its name will be specified, and not to anticipate having a definition for that tag within the application.
  • the special component tag When the special component tag is encountered, its contents will signal to the XSLT processor to relinquish control so that a method defined to the external component's named instance may be performed.
  • the method associated with the component is called (step 522).
  • any values defined in the style sheet for the method received by the XSLT processor are then passed to the specific named method (step 525) as the arguments of the method in the component.
  • the specific method will use the values passed from the XSLT processor as its arguments. This step can use the methods specified in the named external component.
  • a global context which the XSLT processor passes to the components to utilize and the current document fragment being processed by the style sheet and a transformed document fragment generator are also supplied to the component (Step 527).
  • the methods in the external component instance take all the argument values specified in the method invocation. Three pieces of information need to be available for the external component instance: 1) the document fragment that is currently being processed as selected by the style sheet; 2) the global context that is provided by the XSLT processor; and 3) a means for creating document fragments in the transformed document that is provided to the component instance.
  • the component instance may use or not use the value of the input document fragment or the context during its processing, but should depend on the availability of these items provided by the processor during runtime.
  • the invention also suggests a specific API which allows the component to obtain the document fragment, means of generating the resulting document fragment, and a global processing context which can be shared among components and their instances.
  • Components which can be activated with this paradigm may utilize an API to be aware of the document processing and the context. For example, a getlnputNode API may be used to get an input document fragment, a getDocumentFactory API may be use to create output document fragment and a getContext API may be used global context processing.
  • the components find the required information using the APIs, if necessary.
  • the components can pass information to other components which then may be used in document transformations generated by the components. Components also retain their own state when they are reactivated to allow them to provide intelligence in document transformation.
  • processing the external component may include processing associated with the document transformation or display, it may perform other processing associated with the document, or it may even perform processing not associated with the document that the user has defined in the style sheet.
  • the external component instance may then generate a document fragment and place this document fragment into the transform document (step 530). This, of course, presumes that the external component performs a method that, when executed, generates results for the transform document. If no results are generated, the transformed document is not affected by the method execution in the external component instance. When the component instance's method returns execution to the XSLT processor, it resumes processing the document as specified in the style sheet. The XSLT processor during processing the style sheet may require to reuse the named component instance or activate other components instances as specified by the style sheet.
  • the XSLT processor may also perform error handling.
  • the XSLT processor may record the method invocations if the method signatures in the named component does not match or other internal processing errors might occur. If errors are generated, the component will abort its execution and return a list of exceptions to the
  • the XSLT processor may log this as an error and continue processing to generate a transformed document, or the errors severity may abort the XSLT processor. Severe errors include, but are not limited to, unloadable components, inability to activate component instances and methods, or components indicating severe errors.
  • the XSLT processor completes the processing of the style sheet, the new document containing the results of the style sheet along with the results of all external component instances is placed in the new document and sent to the user. It will be recognized by those skilled in the art that while the foregoing description included a discussion of one external component being executed in the style sheet, multiple external components may be executed and defined in a style sheet as defined by the user.
  • ⁇ xslcomponent component> ⁇ xsl:apply-templates/> ⁇ /xsl:template> ⁇ /xsl:stylesheet>
  • xmlns:xlscomponent http://www.javasoft.com/lhs
  • a component tag signifying that an external component will be used
  • xslcomponentxomponent a definition of a instance name which designates the specific instance of the component that will execute
  • name "summary 1 " a class tag which describes the specific component to be loaded, in one embodiment, i.e., the class tag describes the full class name for components written in the Java language and arguments to pass to the external component to execute the method.
  • the method to be executed is named "genSummary" and it has one argument, the value 100),
  • Systems and methods consistent with the present invention use a Namespace paradigm to define an external component reference to a style sheet.
  • the style sheet processor processes the tags in the style sheet, it recognizes the external component declaration.
  • the style sheet will contain a name of the external component instance and a definition of the method to execute associated with the external component instance, and may contain arguments for the method which is executing.
  • the XSLT processor then relinquishes control to the external component to execute the method defined in the style sheet.
  • the results of the method's execution may be placed in the transform document generated by processing the style sheet. However, this is not required and other results may be generated, including those not related to the transform document.

Abstract

Systems and methods consistent with the present invention use a Namespace paradigm to define an external component reference to a style sheet (500). When the style sheet processor processes the tags in the style sheet, it recognizes the external component declaration (510). The style sheet will contain a name of the external component instance and a definition of the method to execute associated with the external component instance which is executing (520). The XSLT processor then relinquishes control to the external component to execute the method defined in the style sheet (525). The results of the method's execution may be placed in the transform document generated by processing the style sheet (530).

Description

EXTENDING THE CAPABILITIES OF AN XSL STYLE SHEET TO INCLUDE
COMPONENTS FOR CONTENT TRANSFORMATION
RELATED APPLICATIONS
Provisional U.S. Patent Application No. 60/123,916 entitled "Enhanced XML Processing for Content Transformation" filed March 12, 1999, is relied upon and is incorporated by reference in its entirety in this application.
BACKGROUND Field of the Invention
The present invention relates to the use of style sheets in creating a document, and more particularly, to the use of external components in an XSL style sheet.
Description of the Related Art
Systems' and applications' use of documents has become so prolific that style sheets are now often used to help manage the documents' display. Style sheets provide greater flexibility and control over the display of a document's content. XSL style sheets also allow the content of documents to be transformed, making them as document transformers where the resulting documents may or may not be used for display. A user may request a document and the application associated with the document will use the information contained in the style sheet to display a new document incorporating the information contained within the style sheet and the requested document.
Typically, an XSL style sheet includes the use of tags. Tags are codes that identify an element in the document, such as heading or font, for the purpose of formatting the document. For example, the tag "<BOLD>" indicates that the text associated with this tag should appear in bold. Style sheets also, however, have become more advanced, to include a type of programming language. An example of this is an Extensible Style Language (XSL) style sheet. XSL is a declarative style sheet language specified in Extensible Markup Language (XML) which can also be used to transform XSL documents. The XSL is actually more analogous to a programming language than to a mechanism designed purely to analyze tags and display attributes. With XML, developers may provide functionality by creating their own customized tags. For example, XML supports links that point to multiple documents, as opposed to HTML links, which can reference just one destination each.
XML documents may be served to different clients with varied interests and capabilities. For example, a PC running NETSCAPE may require a document formatted differently than a PDA would. XSL is the style language used by XML to allow different clients to receive different XML documents. XSL is a specification language for separating style from content when creating XML or HTML pages. XSL style sheets allow a single style to be applied to multiple documents. However, there are limitations to the use of style sheets. An application utilizing a style sheet to display a document often requires that the information contained in the style sheet be application dependent. In other words, the application must be aware of all the tag definitions. In addition, style sheets typically are not very robust and while they use a programming language, do not provide for external calls to components or libraries which may be used to aid in the modification of document information to be displayed.
Similarly, the use of XSL style sheets has been limited. Information contained within the XSL style sheet must be defined within the application and the XSL style sheet itself, and therefore the style sheet becomes application dependent. This sometimes is not desirable when using a style sheet across multiple applications, in which case a separate style sheet for each application would need to be developed. Furthermore, the XSL style sheet is completely self-contained in that no modules or functions can be called outside the style sheet itself. Therefore, what is needed in the art is the ability to create a style sheet that is application independent and to provide a means for creating application dependent functions within that style sheet.
SUMMARY OF THE INVENTION
Methods, systems and articles of manufacture consistent with the present invention overcome the shortcomings of existing style sheets by providing the ability to define components in a style sheet in order to execute methods outside the application. Using a Namespace paradigm, these components, declared within the style sheet, will be recognized by a style sheet processor. In accordance with one aspect of the present invention, as embodied and broadly described herein, in a data processing system, a method of creating a transform document using a style sheet comprises the steps of receiving a request for an input document, retrieving the style sheet, having tags, associated with the input document, wherein one of the tags represents an external component, processing the tags, including one tag representing an external component, in the style sheet to generate a transform document, and processing a method associated with the external component. An additional step of placing the results of processing the method associated with the external component in the transform document may be performed. The method associated with the external component may generate application specific results. In addition, the style sheet may contain commands written in an XSL format. The step of processing the method associated with the external component may include loading the external component in an XSLT processor and initiating the execution of the method associated with the external component. In addition, the step of validating the style sheet and the input document may be performed. And finally, the step of locating an existing instance of the external component, wherein the processing of the one tag representing an external component includes using the existing instance, may be performed.
In accordance with another aspect of the present invention, as embodied and broadly described herein, in a data processing system, a method for executing an external component in a style sheet, comprising the steps of defining an external component to a style sheet processor, providing a definition of the external component in the style sheet, and processing the external component by the style sheet processor. The steps of loading the external component into the style sheet processor, calling the method associated with the external component defined in the style sheet, and passing an argument contained in the style sheet to the external component for use by the method may also be performed. In addition, the step of loading the external component including the step of locating an existing instance of the external component may also be performed. The external component may be defined to an XSLT processor and the style sheet using a Namespace. And, an application associated with an input document using the style sheet may not recognize the external component. Processing the external component may include executing a method associated with the external component which generates a result, and placing the result in a transform document.
In accordance with yet another aspect of the present invention, as embodied and broadly described herein, a system for processing external components in a style sheet comprises a style sheet containing a definition of an external component and a definition of a method associated with the external component, and a style sheet processor operative to receive a request for an input document, retrieve the style sheet, and call the method associated with the external component defined in the style sheet. The style sheet may contain an argument to pass to the method associated with the external component. In addition, a Namespace may be used in defining the external component to the style sheet and the style sheet processor. The style sheet processor may be an XSLT processor and the style sheet contains tags written in an XSL format. And finally, the style sheet processor may be further operative to generate a transform document and to insert a result of the call to the method associated with the external component.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate presently preferred embodiments of the invention and, together with the general description given above and the detailed description of the preferred embodiments given below, serve to explain the principles of the invention.
In the drawings,
Fig. 1 depicts a data processing system suitable for practicing methods and systems in a manner consistent with exemplary embodiments of the present invention; Fig. 2 depicts a more detailed view of an XSLT processor and components related to the XSLT processor suitable for practicing methods and systems in a manner consistent with an exemplary embodiment of the present invention;
Fig. 3 is a flowchart depicting a high level process of generating a transform document using the results of an external call contained within a style sheet; Fig. 4 is a flowchart depicting the process for generating a transform document containing the result of executing a method associated with an external component; and
Fig. 5 is a method for creating and processing external components in a style sheet.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
The following detailed description of the invention refers to the accompanying drawings. Although the description includes exemplary implementations, other implementations are possible, and changes may be made to the implementations described without departing from the spirit and scope of the invention. The following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims. Wherever possible, the same reference numbers will be used throughout the drawings and the following description to refer to the same or like parts.
Introduction
Systems and methods consistent with the present invention use a Namespace paradigm to define an external component to a style sheet. Namespaces are covered in more detail by the "Namespaces in XML" recommendation specification by the World Wide Web Consortium. When the style sheet processor processes the tags in the style sheet, it recognizes the external component declaration and a locator to load the component. The style sheet will also contain a definition of the method to execute associated with the external component and a name which designates a particular instance of a component, and may contain arguments for the method which is executing. The style sheet processor, or the XSLT processor in one embodiment, then relinquishes control to the named external component instance to execute the method defined in the style sheet. The results of the method's execution may be placed in the new document generated by processing the style sheet. However, this is not required, and this execution may provide any results including those not related to the document. During processing, XSL external components may treat the document specific tags as its input declared by specific Namespaces that designate an input document. The tags that pertain to an external component which are also declared with respect to a particular Namespace will be recognized by the XSLT processor during the validation of a style sheet as declarations of component invocations. During the processing of a document with a style sheet, an XSLT processor will use the component specification along with arguments defined in the XSL style sheet to perform the external component method defined to the XSLT processor associated with the particular component. The specific instances of a component may designated by a name. By doing so, different instances of the same component may be active within the same document and useful in performing different tasks. Processing the external component may include executing a method associated with the external component's instance which generates a result and placing the result in a document. The XSLT processor also ensures that a global processing context which is initialized during the validation step by the XSLT processor and can be shared by all the components and their instances referenced within a style sheet during processing of a document is made available to the component instances during processing. The components can utilize the context in their execution and hence change the content of the output document. The components also have access to the current document fragment that is processed by the style sheet and means of generating fragments of a transformed document. The generated result may depend on the context which the XSLT processor supplies to the component's instance. Multiple components or component instances can share the context during an execution. System Architecture
Figure 1 depicts a data processing system suitable for practicing methods and systems in a manner consistent with exemplary embodiments of the present invention. As shown in Figure 1 , application server 104 includes a memory 102, a secondary storage device 112, a CPU 116, an input device 118, and a video display 120. Memory 102 includes application 104, transformation engine 106, registry 108, and
XSLT processor 110. Application 104 receives client requests and provides XML documents to those clients. Transformation engine 106 maintains mapping of all XSL translations, responds to queries from application 104, publishes new registries, and runs an informative servlet. A servlet is a Java applet that runs on a server. Transformation engine 106 may contain a web interface, Application Program Interface (API), or other input interface. An API is a set of routines, protocols, or tools for communicating with software applications. APIs provide efficient access to the registry without the need for additional software to interface with the file.
Memory 102 contains an XSLT processor 110 that applies the XSL transformation to XML document 106. Secondary storage device 112 contains a registry as XML Document 114. This registry 114 is an XML representation of registry 108. Registry 114 serves as a backup that may be easily loaded into memory 102.
Figure 2 depicts a more detailed view of an XSLT processor and components related to the XSLT processor suitable for practicing methods and systems in a manner consistent with an exemplary embodiment of the present invention. The
XSLT processor 205 interfaces with multiple modules in order to process an external component declared within a style sheet. The user 200 may request a document and may provide to the XSLT processor 205 a client type. For example, the user client type might be a PDA or a browser on a PC. The XSLT processor will process this request, and when complete, will send to the user a transform document.
The XSLT processor may perform many functions, several of which are depicted in Figure 2. A validation module 210 will validate the input document request issued by the user and validate the style sheet that is associated with the input document request to ensure that the correct style sheet to generate a transform document is used and valid. The XSLT processor will also understand the external component declarations specified with Namespaces in the style sheets and load them as necessary. The style sheets and component processing module 215 are used to generate a transformed document for the user in response to the document request. This transformed document will incorporate the results of commands given within the style sheet, e.g., tags, and will also incorporate the results of any methods executed by an external component instance, if any. An XML Parser 235 may be used to parse the input documents and style sheets. An XML Document Builder 240 may be used to build a memory representation of the parsed documents or transformed documents. To generate this display document, in one embodiment, the XSLT processor 205 accesses style sheets 220, components 225, and content, e.g., XML documents 230. These style sheets 220, components 225, documents 230, may be contained in memory within the data processing system described with respect to Figure 1 , in secondary storage or in other storage areas which the XSLT processor 205 can access. As stated, the user will generate a document request. The XSLT processor 205 will recognize, by examining the document request, an associated style sheet. The XSLT processor 205 then retrieves the appropriate style sheet associated with the document requested in order to process and generate a transform document to present to the user.
The components module 225 contains the external components that may be declared in the style sheet by way of a Namespace paradigm. When the style sheet names a reference to an external component, the XSLT processor may create an instance of the component if the named component instance has not been created, or use an already created component instance by looking it up with its name. The XSLT processor may pass any arguments also defined in the style sheet and initiate the specific method execution in the external component instance.
Documents 230 contain input documents, i.e., those documents that contain the content of the document requested by the user, which the XSLT processor will use in conjunction with the style sheet to generate a transform document.
Figure 3 is a flowchart depicting a high level process of generating a new document using the results of an external call contained within a style sheet. This process begins by the user requesting a document having an associated style sheet (step 300). In the present invention, the style sheet does not have to be application dependent. The style sheet may contain XSLT language commands as well as reference to an external component. This external component may be used to generate application specific information or other information desired by the developer of the style sheet. In addition, along with the user request, the client type of the user may be sent along with the document request. The client type will specify what type of client the user is, and will be an indication to the processor processing the user request how to format the transformed document specific to the client specification.
The method then proceeds to generate a transform document using the style sheet and an external call embedded in an external component in the style sheet (step 305). The external call is to a named component instance and may perform a function defined by the developer creating the external call. In other words, it is not required that the external call perform some function related to the transformed document or even a function related to the document processing. It may be preferable for the developer of the style sheet to insert into the external function parameters and information that may be application dependent. However, as stated above, the external call may also perform various other types of processing.
After processing the external call embedded in the external component, the XSLT processor continues to process the rest of the style sheet and the input document. Other methods of external components embedded within the style sheet might be activated as described above. When the style sheet is completely processed by the XSLT processor, the process sends a transform document containing the results of the external call to the user (step 310). The new document will be transformed or formatted using commands contained in a style sheet associated with the document requested by the user. For example, these commands may define display parameters and other aspects associated with the new document display on the client type for the user. In addition, the style sheet may contain the definition of the external call, as well as any arguments that may be passed through the external call.
Figure 4 is a flowchart depicting the process for generating a transform document containing the result of processing an external component in a style sheet. The process begins by receiving a document request from a user (step 400). The user may request this by using a PC or other type of data processing system by which he has access to the XSLT processor. The XSLT processor receives the document request and client type from the user and validates the document and the style sheet associated with the document (step 405). As part of the validation process, in one embodiment, the XSLT processor validates a document by using an XML parser and validates a style sheet by using an XML parser and using the XSL language. XSL style sheets are written using the XSL language which is described in XML.
The XSLT processor then receives the style sheet containing reference to an external component (step 410). The style sheet may be developed by a user when specifying how a document is to be transformed. The user in the present invention may also specify an external component to the style sheet. The user can also specify a named instance of a component which allows the user to activate different instances of the same external component to process different sections of a document. The naming mechanism that is used as a parameter in the style sheet in referring a component designates a specific instance of an external component. Note that this is different than the Namespaces. Namespaces describe extensions to recognize the component declaration elements in a style sheet. Name attributes within the scope of a component identification element in the XSLT style sheet designate a specific instance of a particular component. The external component may contain a definition of a method which produces results desired by the user. This external component does not need to be application dependent, however, application dependent information may be placed within the external component. The component can also utilize a processing context passed by the XSLT processor. The process then checks to see if an instance of the external component already exists, i.e., is active, in the XSLT processor (Step 412). If it is determined that an instance is not found in Step 413, then the "No" branch is followed and an external component instance is created (Step 414). If it is determined that the instance is found in Step 413, then the "Yes" branch is followed to Step 415. Consequently, the name of the external component may play an important role in this process. If the XSLT processor has encountered this named component instance before, it locates and reuses the same component instance. Otherwise, the processor creates and initializes a fresh new instance and stores its name and the component reference in memory.
The style sheet processor begins processing the tags contained within the style sheet to generate the transformed document for the user which may or may not be used for display. If the style sheet contains an external component, as in one embodiment of the invention, a method will be defined to the external component. The process proceeds by executing the method in the external component instance (Step 415). As part of executing this method, various parameters, i.e., arguments, may be associated with the component that the user has specified in the style sheet. These parameters and the document fragment which is currently being processed by the style sheet will be passed to the external component that is being activated. The XSLT processor, when processing the style sheet, relinquishes control to the instance of the component so that it performs the method defined in the style sheet. After that method has been completed, processing returns to the XSLT processor to continue processing the style sheet and hence the input document.
Once all the tags in the style sheet have been executed, as well as any other method(s) associated with external components contained in the style sheet, the XSLT processor then places in a transform document the results of the tag processing as well as the results of the executed method(s) (step 420). This transform document is now transformed or formatted as desired by the user. It may contain the display characteristics or the transformed document content and tags as intended by the user, as well as the results of any external component processing as defined in the style sheet. Following the placement of the results of the tag processing, including external components, this new document is transmitted to the user using the associated client type (step 425).
Figure 5 is a method for creating and processing external components in a style sheet. This process begins by starting to validate a style sheet and declaring the component Namespace in the style sheet (step 500). This may be performed by defining it as a specific Namespace in the style sheet. The method of declaring Namespaces is well known to those skilled in the art. However, in this instance, the
Namespace being declared is a Namespace defining external component activation in a style sheet.
Next, during the validation of the style sheet and processing of the XSLT tags, an external component identified by the specific Namespace declaration is identified and is defined to the XSLT processor (step 505). The use of Namespaces is well known to those skilled in the art. The Namespace paradigm may be used by an application such that when a specific module resides in the Namespace, the application will be aware of it and will know the location for their retrieval. In the present invention, a component Namespace is defined to an XSLT library so that during the execution of the style sheet, the XSLT processor is aware that an external component is being defined, and it can preload and resolve components which are declared.
Following definition of an external component Namespace to the XSLT processor and after validation of the style sheet is finished, the XSLT processor starts processing an input document with the validated style sheet and the loaded components. It processes the XSL language tags based on the language semantics and transforms the document in the process. When a component declaration needs to be processed in the style sheet during the style sheet processing with the control flow of the XSL language, the XSLT processor looks up the named instance of a component which is specified by the component tag. The component tag also specifies a loading instruction which is handled during the verification step. If the named component instance does not exist, the processor creates a new instance and associates the name specified in the component element with this instance and uses it (Step 510), where it is processed. If the instance already exists, however, the XSLT processor reactivates the named instance. Within the external component tag, in one embodiment, is a method definition associated with the external component instance to be processed.
During the processing of the style sheet, an external component tag is received from the style sheet (Step 515). This is an indication to the style sheet processor, the XSLT processor, that the following text associated with the component tag is for an external component associated with the Namespace declared within that style sheet. This external component tag, along with its Namespace declaration, provides an indication to the style sheet processor that there is an external component whose activation characteristics and its name will be specified, and not to anticipate having a definition for that tag within the application. When the special component tag is encountered, its contents will signal to the XSLT processor to relinquish control so that a method defined to the external component's named instance may be performed. Next, the method associated with the component is called (step 522). Any values defined in the style sheet for the method received by the XSLT processor are then passed to the specific named method (step 525) as the arguments of the method in the component. The specific method will use the values passed from the XSLT processor as its arguments. This step can use the methods specified in the named external component.
A global context which the XSLT processor passes to the components to utilize and the current document fragment being processed by the style sheet and a transformed document fragment generator are also supplied to the component (Step 527). The methods in the external component instance take all the argument values specified in the method invocation. Three pieces of information need to be available for the external component instance: 1) the document fragment that is currently being processed as selected by the style sheet; 2) the global context that is provided by the XSLT processor; and 3) a means for creating document fragments in the transformed document that is provided to the component instance. The component instance may use or not use the value of the input document fragment or the context during its processing, but should depend on the availability of these items provided by the processor during runtime. This can be handled by different implementation techniques, either by requiring those three additional items to be included in the method signatures by allowing the XSLT processor to pass them to the component instance, or by requiring the component to use a specific API as well as its own API which is specialized with three different methods that pertain to obtaining these three items.
The invention also suggests a specific API which allows the component to obtain the document fragment, means of generating the resulting document fragment, and a global processing context which can be shared among components and their instances. Components which can be activated with this paradigm may utilize an API to be aware of the document processing and the context. For example, a getlnputNode API may be used to get an input document fragment, a getDocumentFactory API may be use to create output document fragment and a getContext API may be used global context processing. At runtime, the components find the required information using the APIs, if necessary. By using the global context, the components can pass information to other components which then may be used in document transformations generated by the components. Components also retain their own state when they are reactivated to allow them to provide intelligence in document transformation.
The XSLT processor is not aware of the functions being performed by processing the external component nor is it in control of these functions. As stated above, processing the external component may include processing associated with the document transformation or display, it may perform other processing associated with the document, or it may even perform processing not associated with the document that the user has defined in the style sheet.
The external component instance, in one embodiment, may then generate a document fragment and place this document fragment into the transform document (step 530). This, of course, presumes that the external component performs a method that, when executed, generates results for the transform document. If no results are generated, the transformed document is not affected by the method execution in the external component instance. When the component instance's method returns execution to the XSLT processor, it resumes processing the document as specified in the style sheet. The XSLT processor during processing the style sheet may require to reuse the named component instance or activate other components instances as specified by the style sheet.
The XSLT processor may also perform error handling. The XSLT processor may record the method invocations if the method signatures in the named component does not match or other internal processing errors might occur. If errors are generated, the component will abort its execution and return a list of exceptions to the
XSLT processor. Depending on the severity of the errors, the XSLT processor may log this as an error and continue processing to generate a transformed document, or the errors severity may abort the XSLT processor. Severe errors include, but are not limited to, unloadable components, inability to activate component instances and methods, or components indicating severe errors. When the XSLT processor completes the processing of the style sheet, the new document containing the results of the style sheet along with the results of all external component instances is placed in the new document and sent to the user. It will be recognized by those skilled in the art that while the foregoing description included a discussion of one external component being executed in the style sheet, multiple external components may be executed and defined in a style sheet as defined by the user.
An Example of an External Component in a Style Sheet Below is an example of a style sheet written in XSL: <?xml version-" 1.0"?>
<!— XSL Style sheet, DTD omitted -> <xsl: stylesheet xmlns:xsl="http://www. w3.org/TR/WD-xsl" xmlns :xslcomponent=*htt : //www, j avasoft.com/lhs >
<xsl template match="paragraph"> <xslcomponent:component name=" summary 1 " class="com.sun.lhs.impl.samplecomponents.SummaryBuilder" >
<xslcomponent:args>
<xslcomponent:methodname="genSummary"/> <xslcomponent:argname="buffersize" value-="l 00"/> > </xslcomponent:args>
<xslcomponent: component> <xsl:apply-templates/> </xsl:template> </xsl:stylesheet> The above example includes a Namespace declaration, xmlns:xlscomponent=http://www.javasoft.com/lhs, a component tag signifying that an external component will be used, xslcomponentxomponent a definition of a instance name which designates the specific instance of the component that will execute, name = "summary 1 " a class tag which describes the specific component to be loaded, in one embodiment, i.e., the class tag describes the full class name for components written in the Java language and arguments to pass to the external component to execute the method. In the example below, the method to be executed is named "genSummary" and it has one argument, the value 100),
<xslcomponent:args>
<xslcomponent:methodname="genSummary"/> <xslcomponent:argname="buffersize" value=" 100"/> > </xslcomponent:args>.
Conclusion
Systems and methods consistent with the present invention use a Namespace paradigm to define an external component reference to a style sheet. When the style sheet processor processes the tags in the style sheet, it recognizes the external component declaration. The style sheet will contain a name of the external component instance and a definition of the method to execute associated with the external component instance, and may contain arguments for the method which is executing. The XSLT processor then relinquishes control to the external component to execute the method defined in the style sheet. The results of the method's execution may be placed in the transform document generated by processing the style sheet. However, this is not required and other results may be generated, including those not related to the transform document.
The foregoing description of an implementation of the invention has been presented for purposes of illustration and description. It is not exhaustive and does not limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practicing of the invention. For example, the description refers to an external component instance, which will be recognized by those skilled in the art as an instantiation of an object in a system using object oriented language processing. However, other systems using other language processing mechanisms may be used. As yet another example, the described implementation includes software, but one embodiment of the present invention may be implemented as a combination of hardware and software or in hardware alone. The invention may be implemented with both object-oriented and non-object-oriented programming systems. Additionally, although aspects of the present invention are described as being stored in memory, those skilled in the art will appreciate that these aspects can also be stored on other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or CD-ROM; a carrier wave from the Internet or other propagation medium; or other forms of RAM or ROM. The scope of the invention is defined by the claims and their equivalents.

Claims

WHAT IS CLAIMED IS:
1. In a data processing system, a method of creating a transform document using a style sheet, comprising the steps of: receiving a request for an input document; retrieving the style sheet, having tags, associated with the input document, wherein one of the tags represents an external component; processing the tags, including one tag representing an external component, in the style sheet to generate a transform document; and processing a method associated with the external component.
2. The method of Claim 1 further comprising the step of placing the results of processing the method associated with the external component in the transform document.
3. The method of Claim 1 , wherein the method associated with the external component generates application specific results.
4. The method of Claim 1 , wherein the style sheet contains commands written in an XSL format.
5. The method of Claim 4, wherein the step of processing the method includes loading the external component in an XSLT processor and initiating the execution of the method associated with the external component.
6. The method of Claim 1 further comprising the step of validating the style sheet and the input document.
7. The method of Claim 1 further comprising the step of locating an existing instance of the external component, wherein the processing of the one tag representing an external component includes using the existing instance.
8. A method for executing an external component in a style sheet, comprising the steps of: defining an external component to a style sheet processor; providing a definition of the external component in the style sheet; and processing the external component by the style sheet processor.
9. The method of Claim 8 further comprising the steps of : loading the external component into the style sheet processor; calling the method associated with the external component defined in the style sheet; and passing an argument contained in the style sheet to the external component for use by the method.
10. The method of Claim 9, wherein the step of loading the external component includes the step of locating an existing instance of the external component.
11. The method of Claim 9 further comprising the steps of: naming a first and a second instance of the external component; and processing the first and the second instance of the external component;
12. The method of Claim 10 further comprising the step of processing different methods within the existing instance of the external component.
13. The method of Claim 8 wherein the external component is defined to an XSLT processor and the style sheet using a Namespace.
14. The method of Claim 8, wherein the step of processing the external component includes executing a method associated with the external component which generates a result and placing the result in a transform document.
15. The method of Claim 8 further comprising the step of providing a global context, a current input document fragment as processed by the style sheet and a mechanism to generate a transformed document fragment to the external component.
16. The method of Claim 8 further comprising the steps of retaining state information from the processing of the external component; reusing the state information during the processing of a second activation of the external component, wherein a result generated by the processing of an external component depends on the state information.
17. A system for processing external components in a style sheet, comprising: a style sheet containing a definition of an extemal component and a definition of a method associated with the external component; and a style sheet processor operative to receive a request for an input document, retrieve the style sheet, and call the method associated with the external component defined in the style sheet.
18. The system of Claim 17, wherein the style sheet contains an argument to pass to the method associated with the external component.
19. The system of Claim 17, wherein a Namespace is used in defining the external component to the style sheet and the style sheet processor.
20. The system of Claim 17, wherein the style sheet processor is an XSLT processor and the style sheet contains tags written in an XSL format.
21. The system of Claim 17, wherein the style sheet processor is further operative to generate a transform document and to insert a result of the call to the method associated with the external component.
22. A computer-readable medium containing computer-executable instractions for creating a display document using a style sheet to perform a method comprising the steps of: receiving a request for an input document; retrieving the style sheet, having tags, associated with the input document, wherein one of the tags represents an external component; processing the tags, including one tag representing an external component, in the style sheet to generate a transform document; and processing a method associated with the external component.
PCT/US2000/006379 1999-03-12 2000-03-13 Extending the capabilities of an xsl style sheet to include components for content transformation WO2000054174A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP00916254A EP1218830A4 (en) 1999-03-12 2000-03-13 Extending the capabilities of an xsl style sheet to include components for content transformation
JP2000604330A JP2003521755A (en) 1999-03-12 2000-03-13 XLS stylesheet enhancements including content conversion components

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12391699P 1999-03-12 1999-03-12
US60/123,916 1999-03-12
US09/523,378 US6507857B1 (en) 1999-03-12 2000-03-10 Extending the capabilities of an XSL style sheet to include components for content transformation
US09/523,378 2000-03-10

Publications (2)

Publication Number Publication Date
WO2000054174A1 true WO2000054174A1 (en) 2000-09-14
WO2000054174A8 WO2000054174A8 (en) 2001-06-21

Family

ID=26822032

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/006379 WO2000054174A1 (en) 1999-03-12 2000-03-13 Extending the capabilities of an xsl style sheet to include components for content transformation

Country Status (4)

Country Link
US (1) US6507857B1 (en)
EP (1) EP1218830A4 (en)
JP (1) JP2003521755A (en)
WO (1) WO2000054174A1 (en)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002035798A1 (en) * 2000-10-18 2002-05-02 Nokia Corporation Method and apparatus for content transformation for rendering data into a presentation format
EP1221661A2 (en) * 2001-01-05 2002-07-10 Openwave Systems Inc. Method and apparatus for dynamically updating a HTML based user interface
WO2002082326A2 (en) * 2001-04-09 2002-10-17 Xmlcities, Inc. Extensible stylesheet designs using meta-tag information
FR2832524A1 (en) * 2001-11-22 2003-05-23 Cegetel Groupe Management of an electronic document or book, whereby the document is divided into a data source part and a structural part so that the presentation of the document can be readily changed to suit a particular purpose
WO2003094456A1 (en) * 2002-05-03 2003-11-13 Siemens Aktiengesellschaft Method for creating a representation of at least one multimedia message, associated radio communication network, and subsystem
KR100443176B1 (en) * 2001-12-28 2004-08-04 한국전자통신연구원 An XSLT-Based Method and Apparatus for Implementing Dynamic Update of TeM Metadata
EP1452966A2 (en) * 2003-02-28 2004-09-01 Microsoft Corporation Method and system for enhancing the paste functionality of a software application
JP2004259276A (en) * 2003-02-24 2004-09-16 Microsoft Corp System, method, and medium for generating contents item
WO2007040640A1 (en) * 2005-09-27 2007-04-12 Teamon Systems, Inc. System for transforming application data using xslt extensions to render templates from cache and related methods
US7703009B2 (en) 2001-04-09 2010-04-20 Huang Evan S Extensible stylesheet designs using meta-tag information
US7707496B1 (en) 2002-05-09 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting dates between calendars and languages based upon semantically labeled strings
US7707024B2 (en) 2002-05-23 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting currency values based upon semantically labeled strings
US7712024B2 (en) 2000-06-06 2010-05-04 Microsoft Corporation Application program interfaces for semantically labeling strings and providing actions based on semantically labeled strings
US7711550B1 (en) 2003-04-29 2010-05-04 Microsoft Corporation Methods and system for recognizing names in a computer-generated document and for providing helpful actions associated with recognized names
US7716676B2 (en) 2002-06-25 2010-05-11 Microsoft Corporation System and method for issuing a message to a program
US7716163B2 (en) 2000-06-06 2010-05-11 Microsoft Corporation Method and system for defining semantic categories and actions
US7739588B2 (en) 2003-06-27 2010-06-15 Microsoft Corporation Leveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data
US7742048B1 (en) 2002-05-23 2010-06-22 Microsoft Corporation Method, system, and apparatus for converting numbers based upon semantically labeled strings
US7778816B2 (en) 2001-04-24 2010-08-17 Microsoft Corporation Method and system for applying input mode bias
US7783614B2 (en) 2003-02-13 2010-08-24 Microsoft Corporation Linking elements of a document to corresponding fields, queries and/or procedures in a database
US7788590B2 (en) 2005-09-26 2010-08-31 Microsoft Corporation Lightweight reference user interface
US7802181B2 (en) 2004-11-12 2010-09-21 Justsystems Corporation Document processing device and document processing method
US7827546B1 (en) 2002-06-05 2010-11-02 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7992085B2 (en) 2005-09-26 2011-08-02 Microsoft Corporation Lightweight reference user interface
US8620938B2 (en) 2002-06-28 2013-12-31 Microsoft Corporation Method, system, and apparatus for routing a query to one or more providers
US8706708B2 (en) 2002-06-06 2014-04-22 Microsoft Corporation Providing contextually sensitive tools and help content in computer-generated documents
WO2017003972A1 (en) * 2015-06-29 2017-01-05 Microsoft Technology Licensing, Llc Presenting content using decoupled presentation resources

Families Citing this family (154)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356390B2 (en) 1999-06-29 2008-04-08 Space Data Corporation Systems and applications of lighter-than-air (LTA) platforms
WO2002087112A2 (en) 2001-04-18 2002-10-31 Space Data Corporation Unmanned lighter-than-air safe termination and recovery methods
JP2001043061A (en) * 1999-08-02 2001-02-16 Fuji Photo Film Co Ltd Device, method and system for outputting style sheet
US6799299B1 (en) * 1999-09-23 2004-09-28 International Business Machines Corporation Method and apparatus for creating stylesheets in a data processing system
US7086002B2 (en) * 1999-09-27 2006-08-01 International Business Machines Corporation System and method for creating and editing, an on-line publication
US6772413B2 (en) * 1999-12-21 2004-08-03 Datapower Technology, Inc. Method and apparatus of data exchange using runtime code generator and translator
US7707159B2 (en) * 2000-03-02 2010-04-27 Actuate Corporation Method and apparatus for storing semi-structured data in a structured manner
US7124144B2 (en) * 2000-03-02 2006-10-17 Actuate Corporation Method and apparatus for storing semi-structured data in a structured manner
US7152062B1 (en) * 2000-11-21 2006-12-19 Actuate Corporation Technique for encapsulating a query definition
US6968503B1 (en) * 2000-03-09 2005-11-22 Quovadx, Inc. XML user interface for a workflow server
JP2001266052A (en) * 2000-03-15 2001-09-28 Ricoh Co Ltd Method and device for structuring information and generating application
US7836395B1 (en) * 2000-04-06 2010-11-16 International Business Machines Corporation System, apparatus and method for transformation of java server pages into PVC formats
US7162542B2 (en) * 2000-04-13 2007-01-09 Intel Corporation Cascading network apparatus for scalability
US7146422B1 (en) 2000-05-01 2006-12-05 Intel Corporation Method and apparatus for validating documents based on a validation template
US6732175B1 (en) 2000-04-13 2004-05-04 Intel Corporation Network apparatus for switching based on content of application data
US20010049702A1 (en) * 2000-06-05 2001-12-06 Sun Microsystems, Inc. Service side filtering XML messages in a distributed network
US7134073B1 (en) * 2000-06-15 2006-11-07 International Business Machines Corporation Apparatus and method for enabling composite style sheet application to multi-part electronic documents
WO2002027551A2 (en) 2000-08-01 2002-04-04 Nimble Technology, Inc. Nested conditional relations (ncr) model and algebra
MXPA01008719A (en) * 2000-09-06 2002-04-10 Air Products Polymers Lp Polymer emulsion preservation using cationic compounds.
US7657833B2 (en) 2000-09-15 2010-02-02 Hartford Fire Insurance Company Real-time single entry multiple carrier interface (SEMCI)
US6948117B2 (en) * 2000-10-04 2005-09-20 Microsoft Corporation Methods and systems for generating a viewable document using view descriptors and generic view stylesheets
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US20040030701A1 (en) * 2000-11-20 2004-02-12 Kirstan Vandersluis Method for componentization of electronic document processing
US20020099734A1 (en) * 2000-11-29 2002-07-25 Philips Electronics North America Corp. Scalable parser for extensible mark-up language
US20020065844A1 (en) * 2000-11-30 2002-05-30 Rich Robinson Metadata internet platform for enabling customization of tags in digital images
US20010056448A1 (en) * 2000-12-06 2001-12-27 Kazuhiro Takeda Document modifying system, document transmission system utilizing the modifying system, document modifying method and medium
US6950866B1 (en) * 2000-12-19 2005-09-27 Novell, Inc. XML-based integrated services parsing
US7415607B2 (en) * 2000-12-22 2008-08-19 Oracle International Corporation Obtaining and maintaining real time certificate status
US7711818B2 (en) * 2000-12-22 2010-05-04 Oracle International Corporation Support for multiple data stores
US8015600B2 (en) 2000-12-22 2011-09-06 Oracle International Corporation Employing electronic certificate workflows
US7085834B2 (en) * 2000-12-22 2006-08-01 Oracle International Corporation Determining a user's groups
US7380008B2 (en) * 2000-12-22 2008-05-27 Oracle International Corporation Proxy system
US7802174B2 (en) 2000-12-22 2010-09-21 Oracle International Corporation Domain based workflows
US7349912B2 (en) 2000-12-22 2008-03-25 Oracle International Corporation Runtime modification of entries in an identity system
US6782379B2 (en) * 2000-12-22 2004-08-24 Oblix, Inc. Preparing output XML based on selected programs and XML templates
US7213249B2 (en) * 2000-12-22 2007-05-01 Oracle International Corporation Blocking cache flush requests until completing current pending requests in a local server and remote server
US6816871B2 (en) * 2000-12-22 2004-11-09 Oblix, Inc. Delivering output XML with dynamically selectable processing
US7363339B2 (en) * 2000-12-22 2008-04-22 Oracle International Corporation Determining group membership
US6874025B2 (en) * 2000-12-22 2005-03-29 Intel Corporation System and method of application input validation
US7475151B2 (en) * 2000-12-22 2009-01-06 Oracle International Corporation Policies for modifying group membership
US7937655B2 (en) * 2000-12-22 2011-05-03 Oracle International Corporation Workflows with associated processes
US7581011B2 (en) * 2000-12-22 2009-08-25 Oracle International Corporation Template based workflow definition
SE0100190L (en) * 2001-01-24 2002-07-25 Ericsson Telefon Ab L M An arrangement and method for presentation customer customization in a portal structure.
US7296226B2 (en) * 2001-02-15 2007-11-13 Accenture Gmbh XML-based multi-format business services design pattern
FR2821191B1 (en) * 2001-02-19 2003-04-04 Schneider Automation PROGRAMMING STATION DEVELOPING A SINGLE-LANGUAGE PROGRAM AND AUTOMATION EQUIPMENT USING SUCH A PROGRAM
US7415669B1 (en) 2001-02-27 2008-08-19 Open Invention Network Method and apparatus for viewing electronic commerce-related documents
US7036072B1 (en) * 2001-12-18 2006-04-25 Jgr Acquisition, Inc. Method and apparatus for declarative updating of self-describing, structured documents
US7373600B2 (en) * 2001-03-27 2008-05-13 Koninklijke Philips Electronics N.V. DICOM to XML generator
FR2823578B1 (en) * 2001-04-17 2003-05-23 Schneider Automation METHOD FOR GRAPHICALLY VIEWING AN AUTOMATION APPLICATION AND COMPUTER TERMINAL THAT CAN IMPLEMENT THE METHOD
US9908608B2 (en) 2001-04-18 2018-03-06 Space Data Corporation Systems and applications of lighter-than-air (LTA) platforms
US9632503B2 (en) 2001-04-18 2017-04-25 Space Data Corporation Systems and applications of lighter-than-air (LTA) platforms
US9643706B2 (en) 2001-04-18 2017-05-09 Space Data Corporation Systems and applications of lighter-than-air (LTA) platforms
US6829745B2 (en) * 2001-06-28 2004-12-07 Koninklijke Philips Electronics N.V. Method and system for transforming an XML document to at least one XML document structured according to a subset of a set of XML grammar rules
US7016963B1 (en) 2001-06-29 2006-03-21 Glow Designs, Llc Content management and transformation system for digital content
US7107521B2 (en) * 2001-07-03 2006-09-12 International Business Machines Corporation XSL dynamic inheritance
US7020683B2 (en) * 2001-07-26 2006-03-28 Hewlett-Packard Development Company, L.P. Method, server and system for dynamic server application adjustment
US20030033432A1 (en) * 2001-08-08 2003-02-13 Simpson Shell S. Web based imaging service that converts web pages into content on behalf of another web site
US7093198B1 (en) * 2001-08-16 2006-08-15 Nokia Corporation Skins for mobile communication devices
WO2003019411A2 (en) * 2001-08-23 2003-03-06 Xmlcities, Inc. Method and apparatus for extensible stylesheet designs
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US7770113B1 (en) * 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7225256B2 (en) 2001-11-30 2007-05-29 Oracle International Corporation Impersonation in an access system
US20030106021A1 (en) * 2001-11-30 2003-06-05 Tushar Mangrola Apparatus and method for creating PDF documents
US20030120758A1 (en) * 2001-12-21 2003-06-26 Koninklijke Philips Electronics N.V. XML conditioning for new devices attached to the network
WO2003056449A2 (en) * 2001-12-21 2003-07-10 Xmlcities, Inc. Extensible stylesheet designs using meta-tag and/or associated meta-tag information
US7058890B2 (en) * 2002-02-13 2006-06-06 Siebel Systems, Inc. Method and system for enabling connectivity to a data system
US20030159105A1 (en) * 2002-02-21 2003-08-21 Hiebert Steven P. Interpretive transformation system and method
US8032828B2 (en) * 2002-03-04 2011-10-04 Hewlett-Packard Development Company, L.P. Method and system of document transformation between a source extensible markup language (XML) schema and a target XML schema
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7272827B2 (en) * 2002-04-03 2007-09-18 International Business Machines Corporation Statically detecting externally referenced interfaces of a program
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
CA2484355A1 (en) * 2002-05-02 2003-11-13 Sarvega, Inc. System and method for transformation of xml documents using stylesheets
US7840658B2 (en) * 2002-05-15 2010-11-23 Oracle International Corporation Employing job code attributes in provisioning
US7216163B2 (en) * 2002-05-15 2007-05-08 Oracle International Corporation Method and apparatus for provisioning tasks using a provisioning bridge server
US20040205469A1 (en) * 2002-06-19 2004-10-14 Mellor Nathan D. Method for processing a rule using computer-independent program instructions and computer for use therewith
US7533335B1 (en) 2002-06-28 2009-05-12 Microsoft Corporation Representing fields in a markup language document
US7584419B1 (en) 2002-06-28 2009-09-01 Microsoft Corporation Representing non-structured features in a well formed document
US7523394B2 (en) * 2002-06-28 2009-04-21 Microsoft Corporation Word-processing document stored in a single XML file that may be manipulated by applications that understand XML
US7565603B1 (en) * 2002-06-28 2009-07-21 Microsoft Corporation Representing style information in a markup language document
US7650566B1 (en) 2002-06-28 2010-01-19 Microsoft Corporation Representing list definitions and instances in a markup language document
US7562295B1 (en) 2002-06-28 2009-07-14 Microsoft Corporation Representing spelling and grammatical error state in an XML document
US7607081B1 (en) 2002-06-28 2009-10-20 Microsoft Corporation Storing document header and footer information in a markup language document
US20040012627A1 (en) * 2002-07-17 2004-01-22 Sany Zakharia Configurable browser for adapting content to diverse display types
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US7130893B2 (en) * 2003-05-19 2006-10-31 International Business Machines Corporation System and method for representing MFS control blocks in XML for MFS-based IMS applications
US7421701B2 (en) * 2002-09-16 2008-09-02 International Business Machines Corporation System for facilitating transactions between thin-clients and message format service (MFS)-based information management system (IMS) applications
US20040103370A1 (en) * 2002-11-27 2004-05-27 International Business Machines Corporation System and method for rendering MFS XML documents for display
US20040054969A1 (en) * 2002-09-16 2004-03-18 International Business Machines Corporation System and method for generating web services definitions for MFS-based IMS applications
US7579120B2 (en) * 2003-03-20 2009-08-25 Hoya Corporation Substrate for reticle and method of manufacturing the substrate, and mask blank and method of manufacturing the mask blank
US20050004893A1 (en) * 2003-07-02 2005-01-06 Sangroniz James M. Workflow management devices and systems, and workflow assignment and management methods
US7246106B2 (en) * 2003-07-02 2007-07-17 Red Paper Llc System and method for distributing electronic information
US7370280B2 (en) * 2003-09-23 2008-05-06 International Business Machines Corporation Apparatus, system, and method for defining a web services interface for MFS-based IMS applications
US7882132B2 (en) 2003-10-09 2011-02-01 Oracle International Corporation Support for RDBMS in LDAP system
US7904487B2 (en) 2003-10-09 2011-03-08 Oracle International Corporation Translating data access requests
KR20050034811A (en) 2003-10-10 2005-04-15 한국전자통신연구원 Systematic modality conversion methodology for supporting qos in multimedia services over heterogeneous environment, and system thereof
US8756487B2 (en) * 2004-01-06 2014-06-17 International Business Machines Corporation System and method for context sensitive content management
US7200816B2 (en) * 2004-01-21 2007-04-03 Altova, Gmbh Method and system for automating creation of multiple stylesheet formats using an integrated visual design environment
US7418508B2 (en) 2004-01-26 2008-08-26 International Machines Corporation System and method to facilitate XML enabled IMS transactions between a remote client and an IMS application program
US7617459B2 (en) 2004-01-28 2009-11-10 International Business Machines Corporation Apparatus, system, and method for automatically generating a web interface for an MFS-based IMS application
US7228497B2 (en) * 2004-03-19 2007-06-05 Microsoft Corporation System and method for automated generation of XML transforms
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US20050268308A1 (en) * 2004-05-28 2005-12-01 Nokia Corporation System and method for implementing a general application program interface
US20050289450A1 (en) * 2004-06-23 2005-12-29 Microsoft Corporation User interface virtualization
US20060026510A1 (en) * 2004-07-30 2006-02-02 International Business Machines Corporation Method for optimizing markup language transformations using a fragment data cache
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US7447993B2 (en) * 2004-10-12 2008-11-04 Microsoft Corporation System and method for displaying a user interface object using an associated style
JPWO2006051973A1 (en) * 2004-11-12 2008-05-29 株式会社ジャストシステム Document processing apparatus and document processing method
KR100677429B1 (en) * 2005-02-01 2007-02-02 엘지전자 주식회사 Method for processing user interface in mobile communication terminal
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US20060179421A1 (en) * 2005-02-09 2006-08-10 International Business Machines Corporation Dynamic interface binding using XML transformations
US7801863B2 (en) * 2005-03-04 2010-09-21 Microsoft Corporation Method and computer-readable medium for formula-based document retention
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8089461B2 (en) * 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US8010343B2 (en) * 2005-12-15 2011-08-30 Nuance Communications, Inc. Disambiguation systems and methods for use in generating grammars
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US7899822B2 (en) * 2006-09-08 2011-03-01 International Business Machines Corporation Automatically linking documents with relevant structured information
US7954048B2 (en) * 2006-09-21 2011-05-31 International Business Machines Corporation Content management via configuration set relationships in a content management system
US8130025B2 (en) * 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US20090006942A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Embedded markup resources
US20090055757A1 (en) * 2007-08-20 2009-02-26 International Business Machines Corporation Solution for automatically generating software user interface code for multiple run-time environments from a single description document
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US20090119415A1 (en) * 2007-11-02 2009-05-07 Chiang Chenhuei J System and method for representing mfs control blocks in xml for mfs-based ims applications
US20090177732A1 (en) * 2008-01-08 2009-07-09 Daryl Martin Method and system for automated and configurable remote cache refreshes
US7603655B1 (en) * 2008-03-31 2009-10-13 International Business Machines Corporation Method for dynamically streaming an XSLT transformation
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8453049B1 (en) * 2010-05-19 2013-05-28 Google Inc. Delayed code parsing for reduced startup latency
US8615708B1 (en) * 2011-11-18 2013-12-24 Sencha, Inc. Techniques for live styling a web page
CN103970721B (en) * 2013-02-05 2016-08-03 腾讯科技(深圳)有限公司 Word content display packing, system, mobile terminal and high in the clouds typesetting server
WO2016105523A1 (en) 2014-12-24 2016-06-30 Space Data Corporation Techniques for intelligent balloon/airship launch and recovery window location
CA2972348C (en) 2014-12-24 2023-03-14 Space Data Corporation Breaking apart a platform upon pending collision
US10059421B2 (en) 2014-12-30 2018-08-28 Space Data Corporation Multifunctional balloon membrane
US11695848B2 (en) 2021-08-25 2023-07-04 Sap Se Integration and transformation framework

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860073A (en) * 1995-07-17 1999-01-12 Microsoft Corporation Style sheets for publishing system
US5870549A (en) * 1995-04-28 1999-02-09 Bobo, Ii; Charles R. Systems and methods for storing, delivering, and managing messages
US6012098A (en) * 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data
US6023714A (en) * 1997-04-24 2000-02-08 Microsoft Corporation Method and system for dynamically adapting the layout of a document to an output device
US6031989A (en) * 1997-02-27 2000-02-29 Microsoft Corporation Method of formatting and displaying nested documents

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154738A (en) * 1998-03-27 2000-11-28 Call; Charles Gainor Methods and apparatus for disseminating product information via the internet using universal product codes
US6263332B1 (en) * 1998-08-14 2001-07-17 Vignette Corporation System and method for query processing of structured documents
EP1198765B1 (en) * 1998-10-28 2004-08-11 Verticalone Corporation Apparatus and method for automated aggregation and delivery of electronic personal information or data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870549A (en) * 1995-04-28 1999-02-09 Bobo, Ii; Charles R. Systems and methods for storing, delivering, and managing messages
US5860073A (en) * 1995-07-17 1999-01-12 Microsoft Corporation Style sheets for publishing system
US6031989A (en) * 1997-02-27 2000-02-29 Microsoft Corporation Method of formatting and displaying nested documents
US6023714A (en) * 1997-04-24 2000-02-08 Microsoft Corporation Method and system for dynamically adapting the layout of a document to an output device
US6012098A (en) * 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data

Non-Patent Citations (15)

* Cited by examiner, † Cited by third party
Title
COMPUTERS IN LIBRARIES, vol. 18, no. 10, 1 November 1998 (1998-11-01), pages 50 - 53 *
DATABASE DIALOG EXNER N. ET AL: "Examining xml: New Concepts and Possibillities in Web Authoring", XP002931815 *
DATABASE DIALOG MCGRATH SEAN: "Rendering XML Documents Using XSL", XP002931820 *
DATABASE DIALOG SENNA JEFF: "XML Bridges the Gap", XP002931818 *
DATABASE DIALOG STANEK WILLIAM ROBERT: "XML 201 (Technology Information)", XP002931817 *
DATABASE DIALOG STEVENS M: "Xtending the Enterprise.", XP002931816 *
DATABASE DIALOG WALSH, N: "The Extensible Style Language: xsl", XP002931814 *
DATABASE DIALOG ZEICHICK ALAN: "XML and XSL", XP002931819 *
DR. DOBB'S JOURNAL, vol. 23, no. 7, July 1998 (1998-07-01), pages 82 - 86 *
INFO WORLD, vol. 20, no. 22, 1 May 1998 (1998-05-01), pages 88 *
INTELLIGENT ENTERPRISE, November 1998 (1998-11-01), pages 8 *
NETWORK, November 1998 (1998-11-01), pages 23 *
PC MAGAZINE, vol. 17, no. 17, 6 October 1998 (1998-10-06), pages 217 *
See also references of EP1218830A4 *
WEB TECHNIQUES, vol. 4, no. 1, January 1999 (1999-01-01), pages 49-50, 52, 54-55 *

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716163B2 (en) 2000-06-06 2010-05-11 Microsoft Corporation Method and system for defining semantic categories and actions
US7712024B2 (en) 2000-06-06 2010-05-04 Microsoft Corporation Application program interfaces for semantically labeling strings and providing actions based on semantically labeled strings
WO2002035798A1 (en) * 2000-10-18 2002-05-02 Nokia Corporation Method and apparatus for content transformation for rendering data into a presentation format
EP1221661A2 (en) * 2001-01-05 2002-07-10 Openwave Systems Inc. Method and apparatus for dynamically updating a HTML based user interface
EP1221661A3 (en) * 2001-01-05 2005-03-02 Openwave Systems Inc. Method and apparatus for dynamically updating a HTML based user interface
WO2002082326A3 (en) * 2001-04-09 2003-08-21 Xmlcities Inc Extensible stylesheet designs using meta-tag information
WO2002082326A2 (en) * 2001-04-09 2002-10-17 Xmlcities, Inc. Extensible stylesheet designs using meta-tag information
US8484552B2 (en) 2001-04-09 2013-07-09 Parc Acquisitions LLC Extensible stylesheet designs using meta-tag information
US7703009B2 (en) 2001-04-09 2010-04-20 Huang Evan S Extensible stylesheet designs using meta-tag information
US7778816B2 (en) 2001-04-24 2010-08-17 Microsoft Corporation Method and system for applying input mode bias
EP1316894A1 (en) * 2001-11-22 2003-06-04 Cegetel Method for the management of a main document
FR2832524A1 (en) * 2001-11-22 2003-05-23 Cegetel Groupe Management of an electronic document or book, whereby the document is divided into a data source part and a structural part so that the presentation of the document can be readily changed to suit a particular purpose
KR100443176B1 (en) * 2001-12-28 2004-08-04 한국전자통신연구원 An XSLT-Based Method and Apparatus for Implementing Dynamic Update of TeM Metadata
WO2003094456A1 (en) * 2002-05-03 2003-11-13 Siemens Aktiengesellschaft Method for creating a representation of at least one multimedia message, associated radio communication network, and subsystem
US7707496B1 (en) 2002-05-09 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting dates between calendars and languages based upon semantically labeled strings
US7707024B2 (en) 2002-05-23 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting currency values based upon semantically labeled strings
US7742048B1 (en) 2002-05-23 2010-06-22 Microsoft Corporation Method, system, and apparatus for converting numbers based upon semantically labeled strings
US7827546B1 (en) 2002-06-05 2010-11-02 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US8706708B2 (en) 2002-06-06 2014-04-22 Microsoft Corporation Providing contextually sensitive tools and help content in computer-generated documents
US7716676B2 (en) 2002-06-25 2010-05-11 Microsoft Corporation System and method for issuing a message to a program
US8620938B2 (en) 2002-06-28 2013-12-31 Microsoft Corporation Method, system, and apparatus for routing a query to one or more providers
US7783614B2 (en) 2003-02-13 2010-08-24 Microsoft Corporation Linking elements of a document to corresponding fields, queries and/or procedures in a database
JP2004259276A (en) * 2003-02-24 2004-09-16 Microsoft Corp System, method, and medium for generating contents item
EP1452966A2 (en) * 2003-02-28 2004-09-01 Microsoft Corporation Method and system for enhancing the paste functionality of a software application
EP1452966A3 (en) * 2003-02-28 2007-04-11 Microsoft Corporation Method and system for enhancing the paste functionality of a software application
US7711550B1 (en) 2003-04-29 2010-05-04 Microsoft Corporation Methods and system for recognizing names in a computer-generated document and for providing helpful actions associated with recognized names
US7739588B2 (en) 2003-06-27 2010-06-15 Microsoft Corporation Leveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data
US7802181B2 (en) 2004-11-12 2010-09-21 Justsystems Corporation Document processing device and document processing method
US7788590B2 (en) 2005-09-26 2010-08-31 Microsoft Corporation Lightweight reference user interface
US7992085B2 (en) 2005-09-26 2011-08-02 Microsoft Corporation Lightweight reference user interface
WO2007040640A1 (en) * 2005-09-27 2007-04-12 Teamon Systems, Inc. System for transforming application data using xslt extensions to render templates from cache and related methods
WO2017003972A1 (en) * 2015-06-29 2017-01-05 Microsoft Technology Licensing, Llc Presenting content using decoupled presentation resources
US10021187B2 (en) 2015-06-29 2018-07-10 Microsoft Technology Licensing, Llc Presenting content using decoupled presentation resources

Also Published As

Publication number Publication date
EP1218830A1 (en) 2002-07-03
JP2003521755A (en) 2003-07-15
WO2000054174A8 (en) 2001-06-21
EP1218830A4 (en) 2004-11-24
US6507857B1 (en) 2003-01-14

Similar Documents

Publication Publication Date Title
US6507857B1 (en) Extending the capabilities of an XSL style sheet to include components for content transformation
US7089330B1 (en) System and method for transforming custom content generation tags associated with web pages
US8001551B2 (en) Providing localized resources for client-side script execution
US7222292B2 (en) Methods and systems for dynamically creating user interfaces
US8326856B2 (en) Method and apparatus of automatic method signature adaptation for dynamic web service invocation
US6925631B2 (en) Method, computer system and computer program product for processing extensible markup language streams
US6772408B1 (en) Event model using fixed-format text strings to express event actions
US20040268238A1 (en) Systems and methods for processing documents using an XML-based process flow description language
US20040128584A1 (en) Method and system for determining computer software test coverage
US20020099738A1 (en) Automated web access for back-end enterprise systems
US8078671B2 (en) System and method for dynamic web services descriptor generation using templates
US20050268225A1 (en) Mechanism for automatic synchronization of scripting variables
US20030135825A1 (en) Dynamically generated mark-up based graphical user interfaced with an extensible application framework with links to enterprise resources
US20060248087A1 (en) System and method for on-demand analysis of unstructured text data returned from a database
JP2005507523A (en) Improvements related to document generation
US20050091386A1 (en) Method and apparatus for interfacing with a distributed computing service
US20070067388A1 (en) System and method for configuration to web services descriptor
US7921415B1 (en) Externally loaded browser interpreter for non-native language support
US9934029B2 (en) Annotation driven representational state transfer (REST) web services
US10719659B1 (en) Method and apparatus for extensibility of user interface binding definitions
WO2001044932A1 (en) Methods and systems for dynamically creating user interfaces
US20070067384A1 (en) System and method for web services configuration creation and validation
US20020038368A1 (en) User interface integration method
US20070234200A1 (en) Model view controller modeling language
Fay An Architecture for Distributed Applications on the Internet: Overview of Microsoft? s. NET Platform

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: C1

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

CFP Corrected version of a pamphlet front page
CR1 Correction of entry in section i

Free format text: PAT. BUL. 37/2000 UNDER (30) REPLACE "NOT FURNISHED" BY "09/523378"

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 604330

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 2000916254

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2000916254

Country of ref document: EP