Detailed Description
The embodiment of the specification provides a page rendering method, a page rendering device and page rendering equipment.
In order to make those skilled in the art better understand the technical solutions in the present specification, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only a part of the embodiments of the present specification, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present specification without any creative effort shall fall within the protection scope of the present specification.
The following describes specific implementations of the embodiments of the present disclosure in detail with reference to several specific examples.
An embodiment of a page rendering method of the present specification is first described below. FIG. 1 is a flow diagram of one embodiment of a page rendering method provided herein, which provides method operational steps as described in the embodiments or flowcharts, but may include more or fewer operational steps based on conventional or non-inventive labor. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. In actual implementation, the system or client product may execute sequentially or in parallel (e.g., in the context of parallel processors or multi-threaded processing) according to the embodiments or methods shown in the figures. Specifically, as shown in fig. 1, the method may include:
s102: and loading a preset data template of the target service by using the preset service identifier.
In practical application, the display pages corresponding to different services are different, and correspondingly, the preset service identifiers can be set for different services. The preset service identifier may be used as an identifier for searching a configuration template matched with the service. In this embodiment of the present specification, the page rendering engine may load a preset data template of the target service by using a preset service identifier, which specifically includes:
searching a configuration template matched with the target service according to the preset service identifier, wherein the configuration template comprises a data module identifier;
and loading the preset data module corresponding to the data module identification.
Specifically, in an embodiment of the present specification, a service may have a corresponding configuration template, the configuration template may correspond to one or more services, and matching the preset service identifier with the configuration template may include that the configuration template includes the preset service identifier. Generally, the configuration template may include a data module identifier. And also can include information such as template name, template version, template validation environment, priority and the like. Wherein the data module identification may be used to indicate which data modules the configuration template includes. In general, one or more data module identifications may be included in the configuration template. When there are multiple data module identifiers, the configuration template may correspond to multiple data modules. The template name may be used to distinguish between different configuration templates. The template version may be used to distinguish different versions of configuration templates corresponding to the same template name. The template validation environment may be used to determine the environment in which the template is validated. For example, the template validation environment is online, and accordingly, the configuration template is validated when online. The priority can be used for indicating the processing priority of the configuration templates, and when a plurality of configuration templates need to be processed, the configuration templates can be processed in sequence according to the priority.
Specifically, the data module may include: metadata identification and layout position information of the data module; and the information such as the number of the data module, the name of the data module, the attribute value of the data module and the like can also be included. Wherein the metadata identification may be used to indicate which metadata the data module includes. In general, one or more metadata identifiers may be included in the data module. When there are multiple metadata identifications, the data module may correspond to multiple metadata. The data module number and the data module name may be used to distinguish different data modules. The data module attribute values may include data comprised of metadata corresponding to the data module. The layout position information of the data module may be used to indicate a layout position corresponding to the attribute value of the data module.
Specifically, in the embodiment of the present specification, after finding the configuration template matched with the target service, it may be determined which preset data modules the target service is composed of according to the data module identifiers in the configuration template. Correspondingly, the preset data module can be loaded to acquire the information in the preset data module.
S104: and acquiring a layout position and metadata corresponding to the preset data template, wherein the metadata comprises service data source information and configuration information.
In this embodiment of the present specification, after loading a preset data template of a target service, a page rendering engine may obtain a layout position and metadata corresponding to the preset data template, which specifically may include:
acquiring a layout position corresponding to the preset data template based on the layout position information in the preset data template;
and acquiring metadata corresponding to the preset data template based on the metadata identification in the preset data template.
Specifically, the metadata may include information such as service data source information, configuration information, metadata identifier, metadata output attribute, and the like, which may define information such as a source of the data, a processing manner of the data, and a presentation form of the data. Specifically, the service data source information may include a data source, a data source field name, and a data type of data corresponding to the data source field name in the data source; and determining corresponding data according to the service data source information. The configuration information may include parsing information, presentation attribute information, and the like. The metadata output attribute may include a metadata output value.
Specifically, the analysis information may include a processing device used for analyzing data corresponding to the corresponding service data source information, and specifically, may include an analysis processing function and data mapping information. The data mapping information may be used to indicate an obtaining manner of the metadata output attribute, where the obtaining manner may include obtaining a metadata output value by analyzing data corresponding to the service data source information with an analysis processing function, or obtaining the metadata output value with a preset default value as the metadata output attribute. The presentation order information may include a presentation order and a metadata output type. The presentation order may be used to indicate the presentation order between metadata in the data modules.
In still other embodiments, the configuration information may further include:
parent-child relationship information between metadata.
Specifically, the parent-child relationship information between the metadata may include that a parent-child relationship exists between two metadata, and the parent-child relationship between the metadata may include that one metadata includes the other metadata.
In a specific embodiment, an example of the metadata provided by the embodiments of the present specification is shown below.
"metaNo":"4",
"fieldName":"productName",
"nickFieldName":"productName",
"dataSource":"com.alipay.demo.policy",
"paramType":"java.util.Map",
"serviceParamType":"java.util.Map",
"parentId":"2",
"includeChild":"N",
"order":"1",
"function":"",
"mappingType":"VARIABLE",
"defaultValue":""
The metadata includes: metadata identification meta no, metadata identification 4; data source field names, fieldName, and data source, where data source field names and data sources are productName and com. The data type paramType of data corresponding to the field name of the data source in the data source is java.util.map (one data type); parsing the processing function, where the parsing processing function is null; a presentation order, where the presentation order is 1, indicates that the metadata is presented in the corresponding data module in the order of 1; the method includes the steps that data mapping information mappingType is represented by VARIABLE, and represents a VARIABLE, when the data mapping information is the VARIABLE, the data mapping information represents that a parsing processing function is adopted to parse data corresponding to service data source information to obtain a metadata output attribute, and in addition, the data mapping information is CONST, and when the data mapping information represents a constant, a preset default value is adopted as the metadata output attribute; presetting a default value default, wherein the default value is null; a metadata output attribute nickFieldName, where the metadata output attribute is productName (product name); a metadata output type serviceParamType, where the metadata output type is java.util.map (a data type); parent-child relationship information parentId and includeClild, wherein the parentId represents a metadata identifier of a parent node, the metadata identifier of the parent node is 2, and when the metadata identifier of the parent node is null, no parent node is represented; includeChild represents the metadata identifier of a child node, wherein the metadata identifier of the child node is N, which represents that no child node exists, and when the metadata identifier of the child node is Y, which can represent that a child node exists.
In addition, when it is necessary to explain, the metadata described in the embodiment of the present specification is not limited to the above form, and the embodiment of the present specification is not limited to the above form.
S106: and analyzing the data corresponding to the service data source information based on the configuration information, and then rendering at the layout position to obtain a display page of the target service.
In this embodiment of the present specification, after obtaining a layout position and metadata corresponding to a preset data template, a page rendering engine may perform rendering processing on the layout position after analyzing data corresponding to the service data source information based on the configuration information, so as to obtain a display page of the target service. As shown in fig. 2, fig. 2 is a flowchart illustrating an embodiment of obtaining a display page of the target service by analyzing data corresponding to the service data source information based on the configuration information and then performing rendering processing at the layout position, where the display page of the target service is obtained, and specifically, the method may include:
s210: and acquiring data corresponding to the service data source information.
Specifically, the data corresponding to the service data source information obtained here may include data corresponding to a data source field name obtained from a data source, and the data type of the data is a data type of data corresponding to the data source field name set in the service data source information.
S220: and analyzing data corresponding to the service data source information by using the analysis information in the configuration information to obtain page rendering data.
Specifically, the analyzing the data corresponding to the service data source information by using the analysis information in the configuration information to obtain the page rendering data may include:
determining an acquisition mode of the page rendering data according to data mapping information in the analysis information, wherein the data mapping information is used for indicating the acquisition mode of the page rendering data;
the acquisition mode comprises the following steps:
analyzing data corresponding to the service data source information by adopting an analysis processing function in the analysis information to obtain page rendering data;
or, adopting a preset default value as the page rendering data.
In a specific embodiment, taking the above metadata as an example, the data mapping information mappingType is a VARIABLE (VARIABLE), that is, an analysis processing function is used to analyze data corresponding to the service data source information to obtain a metadata output attribute.
S230: rendering the page rendering data at the layout position based on the display attribute information in the configuration information to obtain a display page of the target service.
Specifically, the page rendering data is the metadata output attribute. When the data module corresponds to a plurality of metadata, the data corresponding to the corresponding service data source information can be analyzed based on the analysis information in the configuration information of the metadata respectively to obtain page rendering data; and then rendering the plurality of page rendering data at the layout position according to the display attribute information such as the display sequence in the configuration information to obtain corresponding display pages.
In other embodiments, when the data template corresponds to a plurality of metadata and a parent-child relationship exists between the plurality of metadata, before rendering the page rendering data at the layout position based on the display attribute information in the configuration information to obtain a display page of the target service, the method further includes:
cascading corresponding page rendering data according to the parent-child relationship among the metadata in the configuration information of the metadata to obtain page rendering data with a tree structure;
specifically, the cascade processing may include performing parent-child relationship association between the page rendering data corresponding to the parent node and the page rendering data corresponding to the child node according to the parent-child relationship between the metadata. Specifically, as shown in fig. 3, fig. 3 is a schematic diagram of an embodiment of page rendering data corresponding to a data module provided in this specification. As can be seen from fig. 3, page rendering data 1 has a parent-child relationship with page rendering data 2 and 3, and page rendering data 1 is a parent node of page rendering data 2 and 3. The page rendering data 3 also has a parent-child relationship with the page rendering data 4, and the page rendering data 3 page is a parent node of the page rendering data 4. The page rendering data 5 has neither parent node nor child node.
Correspondingly, the rendering the page rendering data at the layout position based on the display attribute information in the configuration information to obtain the display page of the target service may further include: rendering the page rendering data of the tree structure at the layout position based on the display attribute information in the configuration information to obtain a display page of the target service.
Therefore, in the embodiment of the page rendering method in the present specification, the processing mode of the data source, that is, the data source, associated with each area in the layout of the display page is defined in the form of metadata, the data module including the metadata information may be directly loaded through the preset service identifier, then after the metadata is obtained, the complex branch judgment logic coding is not required, which display areas are included in the display page of the target service is directly determined according to the information defined in the metadata, which data and other information are displayed in each display area, and corresponding rendering processing is performed to obtain the display page of the target service. When the subsequent service changes, the corresponding data template can be directly loaded, the development and maintenance pressure of the service system is greatly reduced, and the effect of quickly getting on-line of the service system is achieved.
Another aspect of the present specification further provides a page rendering apparatus, fig. 4 is a schematic structural diagram of an embodiment of the page rendering apparatus provided in the specification, and as shown in fig. 4, the apparatus 400 may include:
a loading module 410, configured to load a preset data template of a target service by using a preset service identifier;
a data obtaining module 420, configured to obtain a layout position and metadata corresponding to the preset data template, where the metadata includes service data source information and configuration information;
the rendering processing module 430 may be configured to perform rendering processing on the layout position after analyzing the data corresponding to the service data source information based on the configuration information, so as to obtain a display page of the target service.
In another embodiment, the loading module 410 may include:
the configuration template searching unit can be used for searching a configuration template matched with the target service according to the preset service identifier, wherein the configuration template comprises a data module identifier;
and the loading unit can be used for loading the preset data module corresponding to the data module identifier.
In another embodiment, the data obtaining module 420 may include:
the first data acquisition unit may be configured to acquire a layout position corresponding to the preset data template based on layout position information in the preset data template;
the second data obtaining unit may be configured to obtain, based on the metadata identifier in the preset data template, metadata corresponding to the preset data template.
In another embodiment, the rendering processing module 430 may include:
a data obtaining unit, configured to obtain data corresponding to the service data source information;
the analysis unit may be configured to analyze data corresponding to the service data source information by using analysis information in the configuration information to obtain page rendering data;
and the rendering unit may be configured to perform rendering processing on the page rendering data at the layout position based on the display attribute information in the configuration information, so as to obtain a display page of the target service.
In another embodiment, the parsing unit may include:
an obtaining mode determining unit, configured to determine, according to data mapping information in the parsing information, a obtaining mode of the page rendering data, where the data mapping information is used to indicate the obtaining mode of the page rendering data;
the acquisition mode comprises the following steps:
analyzing data corresponding to the service data source information by adopting an analysis processing function in the analysis information to obtain page rendering data;
or, adopting a preset default value as the page rendering data.
In another embodiment, the configuration information may further include:
parent-child relationship information between metadata.
In another embodiment, when the data template corresponds to a plurality of metadata and parent-child relationships exist among the plurality of metadata, before rendering the page rendering data at the layout position based on the display attribute information in the configuration information to obtain a display page of the target service, the apparatus 400 may further include:
the cascade processing module can be used for carrying out cascade processing on corresponding page rendering data according to the parent-child relationship information among the metadata in the configuration information of the metadata to obtain the page rendering data with a tree structure;
correspondingly, the rendering the page rendering data at the layout position based on the display attribute information in the configuration information to obtain the display page of the target service may further include: rendering the page rendering data of the tree structure at the layout position based on the display attribute information in the configuration information to obtain a display page of the target service.
The session information processing method or apparatus provided in the embodiments of the present specification may be implemented in a computer by a processor executing corresponding program instructions, for example, implemented on a PC side using a c + + language of a windows operating system, or implemented on an intelligent terminal using android, iOS system programming languages, or implemented on processing logic based on a quantum computer. Accordingly, another aspect of the present specification also provides a page rendering device comprising a processor and a memory, the memory storing computer program instructions executed by the processor, the computer program instructions may include: loading a preset data template of a target service by using a preset service identifier;
acquiring a layout position and metadata corresponding to the preset data template, wherein the metadata comprises service data source information and configuration information;
and analyzing the data corresponding to the service data source information based on the configuration information, and then rendering at the layout position to obtain a display page of the target service.
Specifically, in the embodiment of the present disclosure, the processor may include a Central Processing Unit (CPU), and may also include other single-chip microcomputers, logic gates, integrated circuits, and the like with logic processing capability, or a suitable combination thereof. The memory may include a non-volatile memory or the like.
In another embodiment, the loading the preset data template of the target service by using the preset service identifier may include:
searching a configuration template matched with the target service according to the preset service identifier, wherein the configuration template comprises a data module identifier;
and loading the preset data module corresponding to the data module identification.
In another embodiment, the obtaining of the layout position and the metadata corresponding to the preset data template may include:
acquiring a layout position corresponding to the preset data template based on the layout position information in the preset data template;
and acquiring metadata corresponding to the preset data template based on the metadata identification in the preset data template.
In another embodiment, the obtaining the display page of the target service by performing rendering processing at the layout position after analyzing the data corresponding to the service data source information based on the configuration information may include:
acquiring data corresponding to the service data source information;
analyzing data corresponding to the service data source information by using analysis information in the configuration information to obtain page rendering data;
rendering the page rendering data at the layout position based on the display attribute information in the configuration information to obtain a display page of the target service.
In another embodiment, the analyzing, by the base, data corresponding to the service data source information using the parsing information in the configuration information to obtain page rendering data may include:
determining an acquisition mode of the page rendering data according to data mapping information in the analysis information, wherein the data mapping information is used for indicating the acquisition mode of the page rendering data;
the obtaining mode may include:
analyzing data corresponding to the service data source information by adopting an analysis processing function in the analysis information to obtain page rendering data;
or, adopting a preset default value as the page rendering data.
In another embodiment, the configuration information may further include:
parent-child relationship information between metadata.
In another embodiment, when the data template corresponds to a plurality of metadata and parent-child relationships exist among the plurality of metadata, before rendering the page rendering data at the layout position based on the display attribute information in the configuration information to obtain a display page of the target service, the computer program instructions may further include:
cascading processing is carried out on corresponding page rendering data according to parent-child relationship information among metadata in configuration information of the metadata to obtain page rendering data with a tree structure;
correspondingly, the rendering the page rendering data at the layout position based on the display attribute information in the configuration information to obtain the display page of the target service further includes: rendering the page rendering data of the tree structure at the layout position based on the display attribute information in the configuration information to obtain a display page of the target service.
Therefore, in the embodiments of a page rendering method, apparatus, or device in this specification, a processing manner of a data source, which is a data source, associated with each area in a layout of a display page is defined in a form of metadata, a data module including metadata information may be directly loaded through a preset service identifier, and then after the metadata is obtained, a complex branch judgment logic encoding is not required, which display areas are included in a display page of a target service is directly determined according to information defined in the metadata, which data and other information are displayed in each display area, and corresponding rendering processing is performed to obtain the display page of the target service. When the subsequent service changes, the corresponding data template can be directly loaded, the development and maintenance pressure of the service system is greatly reduced, and the effect of quickly getting on-line of the service system is achieved.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by a user. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually making an integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as abel (advanced Boolean Expression Language), ahdl (alternate Language Description Language), traffic, pl (core unified Programming Language), HDCal, JHDL (Java Hardware Description Language), langue, Lola, HDL, laspam, hardsradware (Hardware Description Language), vhjhd (Hardware Description Language), and vhigh-Language, which are currently used in most common. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be considered a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The apparatuses, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or implemented by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functions of the various elements may be implemented in the same one or more software and/or hardware implementations of the present description.
As will be appreciated by one skilled in the art, embodiments of the present description may be provided as a method, apparatus, or computer program product. Accordingly, the description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The description has been presented with reference to flowchart illustrations and/or block diagrams of methods, apparatus (devices), and computer program products according to embodiments of the description. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage, graphene storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present description may be provided as a method, apparatus or computer program product. Accordingly, the description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
This description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, as for the device and server embodiments, since they are substantially similar to the method embodiments, the description is simple, and the relevant points can be referred to the partial description of the method embodiments.
The above description is only an example of the present specification, and is not intended to limit the present specification to those skilled in the art, and various modifications and variations may be made in the present specification. Any modification, equivalent replacement, improvement or the like made within the spirit and principle of the present specification should be included in the scope of the claims.