FI123305B - Procedures and systems for customizing an application using XML configuration files - Google Patents
Procedures and systems for customizing an application using XML configuration files Download PDFInfo
- Publication number
- FI123305B FI123305B FI20070092A FI20070092A FI123305B FI 123305 B FI123305 B FI 123305B FI 20070092 A FI20070092 A FI 20070092A FI 20070092 A FI20070092 A FI 20070092A FI 123305 B FI123305 B FI 123305B
- Authority
- FI
- Finland
- Prior art keywords
- node
- tree
- configuration file
- result
- configuration
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
MENETELMÄ JA JÄRJESTELMÄ SOVELLUKSEN KUSTOMOIMISEKSI KÄYTTÄMÄLLÄ XML-KONFIGUROINTITIEDOSTOJAMETHOD AND SYSTEM FOR DELETING THE APPLICATION BY USING XML CONFIGURATION FILES
KEKSINNÖN TEKNINEN ALATECHNICAL FIELD OF THE INVENTION
5 Keksinnön kohteena on menetelmä ja järjestelmä sovelluksen kustomoimiseksi käyttämällä XML-konfigurointitiedostoja. Erityisesti keksinnön kohteena on menetelmä ja järjestelmä XML-konfigurointitiedostojen yhdistämiseksi.The invention relates to a method and a system for customizing an application using XML configuration files. More particularly, the invention relates to a method and system for combining XML configuration files.
KEKSINNÖN TAUSTAABACKGROUND OF THE INVENTION
Ohjelmistosovelluksia, kuten web-sovelluksia, kustomoidaan usein niiden asen-10 nuksen jälkeen suurillakin muutoksilla. Muutokset on tavallisesti tehtävä alkuperäisiin konfigurointitiedostoihin, mikä vaikeuttaa muutosten seurantaa.Software applications, such as web applications, are often customized with major changes after they are installed. Changes usually need to be made to the original configuration files, which makes it difficult to track changes.
XML on tämän hetken standardiformaatti web-sovellusten konfigurointiin. Periaatteessa kaikki nykyaikaiset web-sovellukset sisältävät yhden tai useamman XML-konfigurointitiedoston. XML:ää käytetään myös yhä useammin liiketoiminta- ja so-15 velluslogiikan määrittelyyn. Useimmissa sovelluksissa näihin dokumentteihin tehtyjä muutoksia ei kapseloida kunnolla, mikä johtaa heikkoon muutosten hallintaan ja adhoc-tyyppiseen kustomointiin.XML is currently the standard format for configuring web applications. In principle, all modern web applications contain one or more XML configuration files. XML is also increasingly used to define business and SO-15 application logic. In most applications, changes made to these documents are not properly encapsulated, leading to poor change management and adhoc-type customization.
Tekniikan tasosta tunnetaan muutamia, pääasiassa geneerisiä algoritmeja XML-konfigurointitiedostojen yhdistämiseen. Nämä perustuvat tyypillisesti DTD-standar-20 diin (Document Type Definition), ja yhdistäminen suoritetaan, mikäli yhdistettävät tiedostot ovat saman mutta mielivaltaisen DTD:n laillisia ilmentymiä.There are some, mainly generic, algorithms known in the art for combining XML configuration files. These are typically based on DTD (Document Type Definition) standard 20, and merging is performed if the files to be merged are legal instances of the same but arbitrary DTD.
C\JC \ J
£ Tekniikan tason menetelmiin liittyy kuitenkin eräitä ongelmia, esimerkiksi käytettä- ^ essä geneerisiä algoritmeja, nimittäin ongelmia, joita syntyy konfliktitilanteissa, V joissa sama elementti esiintyy molemmissa (tai vähintään kahdessa) yhdistettävis- o 25 tä tiedostoista, ja erityisesti mikäli elementit sijaitsevat siten, että elementti ensim- | mäisessä tiedostossa on hieman eri paikassa kuin elementti vähintään yhdessä ^ toisessa tiedostossa. Tekniikan tasossa tällaisessa konfliktitilanteessa ei tiedetä, o mitä näistä vähintään kahdesta tiedostosta tulisi käyttää. Tekniikan tason mukai- o seen yhdistämiseen liittyy myös muita ongelmia, kuten muutosten seuranta, oHowever, there are some problems with the prior art methods, for example, when using generic algorithms, namely problems arising in conflict situations, where the same element occurs in both (or at least two) of the files to be merged, and especially if the elements are located such that element first- | This file has a slightly different location than the element in at least one other ^ file. The state of the art in such a conflict does not know which of these at least two files should be used. Prior art combining also has other problems, such as tracking changes, o
CVJCVJ
22
KEKSINNÖN YHTEENVETOSUMMARY OF THE INVENTION
Keksinnön tavoitteena on ratkaista tekniikan tasoon liittyvät ongelmat. Erityisesti keksinnön tavoitteena on toteuttaa menetelmä ja järjestelmä ohjelmistosovelluksen kustomoimiseksi automaattisesti säilyttäen alkuperäiset tai muutoskonfiguroin-5 titiedostot muuttumattomina. Lisäksi keksinnön tavoitteena on vähentää muutosten tallentamisessa tarvittavan dokumentaation määrää ja mahdollistaa versiopäivityk-set kumoamatta sovellukselle tehtyjä kustomointeja.The object of the invention is to solve the problems related to the prior art. In particular, it is an object of the invention to provide a method and system for automatically customizing a software application while keeping the original or change configuration files unchanged. It is a further object of the invention to reduce the amount of documentation required to save changes and enable version updates without canceling customizations made to the application.
Keksinnön tavoitteet voidaan saavuttaa itsenäisten patenttivaatimusten tunnus-merkkiosassa esitettyjen ominaisuuksien avulla.The objects of the invention can be achieved by the features set forth in the characterizing part of the independent claims.
10 Keksintö liittyy patenttivaatimuksen 1 mukaiseen menetelmään sovelluksen kustomoimiseksi.The invention relates to a method for customizing an application according to claim 1.
Keksintö liittyy myös patenttivaatimuksen 6 mukaiseen järjestelmään sovelluksen kustomoimiseksi.The invention also relates to a system for customizing an application according to claim 6.
Lisäksi keksintö liittyy patenttivaatimuksen 11 mukaiseen tietokoneohjelmatuottee-15 seen sovelluksen kustomoimiseksi.The invention further relates to a computer program product according to claim 11 for customizing the application.
Tässä dokumentissa käytetään seuraavia nimityksiä ja lyhenteitä: - "Sovellus": voi olla mikä tahansa ohjelmistosovellus, kuten web-sovel- lus, joka käyttää yhtä tai useampaa XML-standardin mukaista tiedostoa ja/tai sisältää sellaisen.The following terms and abbreviations are used throughout this document: - "Application": Any software application, such as a web application, that uses and / or contains one or more XML-compliant files.
20 - "Attribuutti": elementin osa, joka antaa lisätietoa kyseisestä elementistä.20 - "Attribute": The part of an element that provides additional information about that element.
Lisätietoa antava XML-tagin määre. Esimerkiksi tagissa <slide title="My Slide"> "title" on attribuutti, ja "My Slide" on ^ sen arvo.An XML tag attribute that provides more information. For example, the tag <slide title = "My Slide"> "title" has an attribute, and "My Slide" has ^ its value.
° - "Lapsisolmu": elementin sisältämä solmu, joka on suoraan sen alapuolella ° 25 puuhierarkiassa.° - "Child node": The node contained in the element immediately below it in the ° 25 tree hierarchy.
i g - "Muutoskonfigurointitiedosto": eli kustomointitiedosto on tiedosto, jonka kans- x sa alkuperäinen tiedosto yhdistetään. Kustomointitiedosto voi sisältää esimerkiksi henkilökohtaisia ja kustomoituja tie-§ toja.i g - "Change Configuration File": that is, the customization file is the file with which the original file is merged. The customization file may contain, for example, personal and customized information.
° 30 - "Elementti": Tagien rajaama XML-datan yksikkö. XML-elementti voi sul-° 30 - "Element": The XML data unit delimited by the tags. The XML element can close
OO
^ kea sisäänsä muita elementtejä, esimerkiksi "<slideshowxslide>..</slidexslide>..</slide></slideshow>", joissa <slideshow>-elementti sisältää kaksi <slide>-element-tiä.^ include other elements such as "<slideshowxslide> .. </slidexslide> .. </slide> </slideshow>" where the <slideshow> element contains two <slide> elements.
3 - "ID/Tunniste": yksilöi elementin. Tunnisteen on oltava uniikki sellaisten sa maa tyyppiä olevien elementtien kesken, joilla on sama äi-tisolmu.3 - "ID": identifies the element. The tag must be unique among elements of the same type that share the same parent node.
- "Solmu": voi olla elementtisolmu, attribuuttisolmu tai tekstisolmu. Sol- 5 mut on edullisesti järjestetty puuhierarkiaan, ja solmuilla on myös edullisesti tyyppi ja tunniste (ID), joka yksilöi solmun.- "Node": can be an element node, an attribute node, or a text node. The nodes are preferably arranged in a tree hierarchy, and the nodes also preferably have a type and an identifier (ID) that identifies the node.
- "Alkuperäinen konfigurointitiedosto" eli alkuperäinen tiedosto sisältää alkupe räiset tiedot, joiden tulisi pysyä muuttumattomina. Alkuperäisen tiedoston data yhdistetään eli kustomoidaan kustomoin-10 titiedoston tietojen kanssa, ja lopputulos tallennetaan tulos tiedostoon.- "Original configuration file", ie the original file, contains the original information which should remain unchanged. The data in the original file is merged, that is, customized with the data in the custom 10 file, and the result is saved in the result file.
- "Äitisolmu": Solmun äitisolmu on elementti, joka sisältää ko. solmun. Ele mentti on kaikkien lapsisolmujensa äitisolmu. Solmulla on enintään yksi äitisolmu.- "Mother Node": The parent node of a node is the element that contains the given node. node. The gesture is the mother node of all its child nodes. The node has at most one parent node.
15 - "Tuloskonfigurointitiedosto tai -puu" eli tulostiedosto/-puu sisältää kustomoin- titiedoston tietojen kanssa kustomoidut alkuperäiset tiedot. Tulostiedosto tai -puu syntyy alkuperäisen konfigurointitie-doston ja muutoskonfigurointitiedoston tietojen yhdistämisen tuloksena, ja edullisesti se lähetetään haihtuvaan muistiin, 20 kuten RAM-muistiin.15 - "Result Configuration File or Tree", i.e. the result file / tree, contains the original information that is customized with the information in the customization file. The result file or tree is created as a result of combining the data of the original configuration file and the change configuration file, and is preferably sent to volatile memory, such as RAM.
- "XML": Extensible Markup Language.- XML: Extensible Markup Language.
Keksinnön erään suoritusmuodon mukaisesti ohjelmistosovellus kustomoidaan muutoskonfigurointitiedostolla, joka sisältää vähintään yhden solmun. Solmut on edullisesti järjestetty puuhierarkiaan tiedostossa, ja solmuilla on myös edullisesti 25 tyyppi ja tunniste (ID), joka yksilöi solmun. Sovellukseen kuuluu edullisesti alkuperä räinen tiedosto, joka sisältää solmuja puuhierarkiassa ja alkuperäiset tiedot. Erään o suoritusmuodon mukaan, kun alkuperäiset tiedot kustomoidaan, alkuperäinen tie- ö dosto asetetaan ensin tulostiedostoksi/-puuksi, ja mainitun kustomointitiedoston ^ kutakin solmua verrataan tuloskonfigurointipuun, joka sisältää alkuperäisen tiedos- ° 30 ton datan ja datarakenteen, vastaaviin solmuihin.According to one embodiment of the invention, the software application is customized with a change configuration file containing at least one node. The nodes are preferably arranged in a tree hierarchy in a file, and the nodes also preferably have a type and an identifier (ID) that identifies the node. Preferably, the application includes an original file containing nodes in the tree hierarchy and the original data. According to one embodiment, when the original data is customized, the original file is first set to a result file / tree, and each node of said customization file is compared to the corresponding nodes in the result configuration tree containing the original file data and data structure.
XX
CCCC
CLCL
^ Esillä oleva keksintö on hyvin luotettava myös vertailuprosessissa, jossa mainitun o tulostiedoston elementtisolmu sisältää kaksi tai useampia saman tyypin lapsiele- o menttejä. Keksinnön erään suoritusmuodon mukaan tulostiedoston mainitut ele- o ^ mentit tarkistetaan selvittäen, onko vähintään yksi mainituista tulostiedoston ele- 35 menteistä samaa tyyppiä ja sisältääkö se saman tunnisteen kuin mainitun tulostiedoston kanssa yhdistettävän kustomointitiedoston vastaava elementti. Mikäli tulos- 4 tiedoston vähintään yhden elementin tyyppi ja/tai tunniste eivät vastaa kustomoin-titiedoston mainittua elementtiä, mainitun kustomointitiedoston mainittu elementti lisätään mainittuun tulostiedostoon.The present invention is also very reliable in the comparison process, wherein the element node of said output file contains two or more child elements of the same type. According to one embodiment of the invention, said elements of the output file are checked to determine whether at least one of said output file elements is of the same type and contains the same identifier as the corresponding element of the customization file to be associated with said output file. If the type and / or identifier of at least one element of the result file do not match said element of the customization file, said element of said customization file is added to said result file.
Jos kuitenkin tulostiedoston jonkin tai joidenkin solmujen tyyppi ja tunniste vastaa-5 vat kustomointitiedoston mainittua solmua, mainitun kustomointitiedoston mainittu solmu yhdistetään mainitun tulossolmun kanssa, ellei mainitun kustomointitiedoston mainittu solmu sisällä tuhoamiskäskyä, jolloin vastaava solmu poistetaan tu-lossolmusta.However, if the type and identifier of one or more nodes in the result file corresponds to said node of the customization file, said node of said customization file is associated with said result node unless said node of said customization file contains a delete command, wherein the corresponding node is removed from the result node.
Keksinnön erään toisen suoritusmuodon mukaan, kun alkuperäinen solmu asete-10 taan tulossolmuksi, kaikki attribuutit kopioidaan muutoskonfigurointitiedostosta tai -solmusta. Mikäli jokin attribuutti on jo olemassa tulostiedostossa tai -solmussa, sen arvo ylikirjoitetaan, ja mikäli jotakin attribuuttia ei ole olemassa tulostiedostossa tai -solmussa, attribuutti luodaan tulostiedostoon tai -solmuun.According to another embodiment of the invention, when the original node is set to a result node, all attributes are copied from the change configuration file or node. If an attribute already exists in the result file or node, its value is overwritten, and if an attribute does not exist in the result file or node, the attribute is created in the result file or node.
Erään toisen suoritusmuodon mukaisesti lapsisolmut voidaan käsitellä esimerkiksi 15 attribuuttien jälkeen. Kustomointisolmun kaikki lapset voidaan silmukoida. Silmu-kointi suoritetaan edullisesti peräkkäin kullekin ao. solmulle. Mikäli lapsisolmu sisältää tekstisolmun (sisältäen vain tekstiä), mainitun tulossolmun alkuperäinen teksti korvataan muutoskonfigurointisolmun tekstillä.According to another embodiment, the child nodes may be processed after, for example, 15 attributes. All children in the customization node can be looped. The looping is preferably performed sequentially for each of the nodes in question. If the child node contains a text node (containing only text), the original text of said result node is replaced by the text of the change configuration node.
Erään toisen suoritusmuodon mukaisesti, jos käsiteltävänä olevaa lapsisolmua ei 20 ole olemassa tuloksessa, kustomointilapsisolmu ja kaikki sen jälkeläiset edullisesti lisätään tulossolmuun, paitsi jos lapsi sisältää tuhoamiskäskyn (XML-prosessointi-käsky <?delete?>). Mikäli lapsi on jo olemassa tuloksessa, alkuperäinen ja kustomointilapsisolmu voidaan yhdistää rekursiivisesti käyttäen samaa yhdistämisalgo-^ ritmia, paitsi jos lapsi sisältää tuhoamiskäskyn. Kun kustomointilapsesta löydetään o 25 tuhoamiskäsky, alkuperäinen lapsi poistetaan tuloksesta.According to another embodiment, if the child child node being processed does not exist in the result, the custom child node and all its descendants are preferably added to the result node, unless the child contains a delete command (XML processing command <? Delete?>). If the child already exists in the result, the original and the custom child node can be recursively combined using the same merge algorithm, unless the child contains a delete command. When a customization child is found to have 25 destruction commands, the original child is deleted from the result.
i o V Yhdistämiskone perustuu edullisesti geneeriseen XML/DOM-puu-yhdistämisalgo- o ritmiin. Yhdistämiskonetta voidaan käyttää moniin erilaisiin XML-yhdistämistarpei- | siin, mutta se on äärimmäisen tehokas yhdistettäessä useita XML-konfigurointi- ^ tiedostoja yhdeksi XML-tiedostoksi tai DOM-puuksi. Useiden tiedostojen yhdistä- o 30 minen suoritetaan edullisesti peräkkäin. Algoritmia voidaan myös käyttää XML- o mallinnuskoneiden kanssa sovelluksissa, jotka perustuvat adaptiiviseen objekti- o ^ mallinnukseen (jota kutsutaan myös deklaratiiviseksi ohjelmoinniksi). Näiden so vellusten XML-tiedostot ovat erittäin monimutkaisia, koska perinteisten konfiguraa-tioiden lisäksi ne määrittelevät useimpia liiketoiminta- ja sovelluslogiikoita.Preferably, the merge machine is based on a generic XML / DOM tree merge algorithm. The merge machine can be used for many different XML merge needs but it is extremely effective in combining multiple XML configuration files into a single XML file or DOM tree. The merging of several files is preferably performed sequentially. The algorithm can also be used with XML modeling machines in applications based on adaptive object modeling (also called declarative programming). The XML files for these applications are very complex because, in addition to traditional configurations, they define most business and application logics.
55
Yhdistämiskoneen avulla on mahdollista eristää kaikki alkuperäiseen sovellukseen tehdyt muutokset hienojakoisella tavalla. XML-elementtejä ja attribuutteja voidaan lisätä, muuttaa ja poistaa tekemättä muutoksia alkuperäisiin dokumentteihin. Kus-tomoitujen dokumenttien tiedot kumoavat aina alkuperäisten dokumenttien tiedot. 5 Tällä on useita etuja. Kaikki muutokset kapseloidaan erillisiin kustomointitiedostoi-hin, jotka sisältävät vain ne elementit ja attribuutit, joita pitää muuttaa. Tällä tavoin muutosten tunnistaminen ja hallinta on helppoa. Tavallaan kustomoinneista tulee itsedokumentoivia, mikä vähentää muutosten tallentamiseen tarvittavan dokumentoinnin määrää. Alkuperäisten kohteiden kapselointia ja kumoamista voidaan ver-10 rata olioperustaisten ohjelmointikielten luokkaperiytyvyyteen.With the merge machine, it is possible to isolate all changes made to the original application in a fine-grained way. XML elements and attributes can be added, modified and deleted without making any changes to the original documents. The information in a document that has been revoked always overrides the information in the original document. 5 This has several advantages. All changes are encapsulated in separate customization files that contain only the elements and attributes that need to be changed. This way, it is easy to identify and manage changes. In a way, customizations become self-documenting, which reduces the amount of documentation needed to save changes. Encapsulation and undoing of the original objects can be compared to the class inheritance of object-based programming languages.
Vielä merkittävämpi etu on mahdollisuus suorittaa versiopäivityksiä sovellukseen tehtyjä kustomointeja kumoamatta. Jos alkuperäisten dokumenttien rajapinnat ja perusrakenteet pysyvät samoina läpi eri versioiden, kustomoituja tiedostoja ei tarvitse muuttaa päivityksen yhteydessä. Jos muutokset tehtäisiin alkuperäisiin tie-15 dostoihin, kaikki muutokset menetettäisiin versiopäivityksiä tai korjauspaketteja asennettaessa. Yhdistämiskone tarjoaa mahdollisuuden eristää muutokset korvaamatta alkuperäisiä tiedostoja kokonaan.An even more significant advantage is the ability to perform version upgrades without undoing customizations made to the application. If the interfaces and infrastructures of the original documents remain the same throughout the versions, there is no need to change the custom files during the upgrade. If the changes were made to the original files, any changes would be lost when installing the upgrade or the patches. The merge machine offers the ability to isolate changes without completely replacing the original files.
Keksinnön erään suoritusmuodon mukaisesti alkuperäisten XML-tiedostojen on noudatettava näitä kahta sääntöä tehokkaan yhdistämisen mahdollistamiseksi: 20 1) kaikkien tiedostojen on oltava oikeita XML-tiedostoja, joita voidaan lukea millä tahansa standardinmukaisella XML-jäsentimellä, ja 2) mikäli elementillä on useita saman tyypin lapsielementtejä, nämä elementit on yksilöitävä tunnisteella. Esimerkiksi, jos A-tyypin elementillä on kaksi B-tyypin lapsielementtiä, B-tyypin elementeillä on oltava tunniste, jonka 25 avulla on mahdollista viitata niihin kustoimointidokumenteissa. TunnisteenAccording to one embodiment of the invention, the original XML files must adhere to these two rules for effective merging: 1) all files must be valid XML files that can be read by any standard XML parser, and 2) if the element has multiple child elements of the same type, these elements must be identified by a tag. For example, if a Type A element has two child type B elements, the Type B element must have an identifier that can be used to refer to them in the costume documentation. tag
CMCM
g on oltava uniikki sellaisten B-tyyppiä olevien elementtien kesken, jotka ^ ovat saman elementin lapsia, o g Keksinnön erään suoritusmuodon mukaisesti yhdistäminen voidaan suorittaa mille x tahansa XML-tiedostoille ta DOM-puusolmuille. Ainoa rajoitus on, että yhdistettä- 30 villä dokumenteilla tai solmuilla on oltava sama juurielementti. Yhdistäminen aloite- g taan tyypillisesti yhdistämällä juurielementit.g must be unique among elements of type B which are children of the same element. o g According to one embodiment of the invention, the merge can be performed on any x XML files or DOM tree nodes. The only limitation is that the documents or nodes to be combined must have the same root element. The merge is typically initiated by combining the root elements.
o § Lisäksi on huomattava, että keksinnön eräässä suoritusmuodossa yhdistämiskoneIn addition, it should be noted that, in one embodiment of the invention, the joining machine
C\JC \ J
tukee myös XML-tiedostojen inkluusiota.also supports XML file inclusion.
66
PIIRROSTEN LYHYT KUVAUSBRIEF DESCRIPTION OF THE DRAWINGS
Seuraavassa keksintöä selostetaan yksityiskohtaisemmin eräiden esimerkinomaisten suoritusmuotojen avulla ja viitaten oheisiin piirustuksiin, joissaThe invention will now be described in more detail by way of some exemplary embodiments and with reference to the accompanying drawings, in which:
Kuvio 1 esittää lohkokaavion muodossa erästä esimerkkimenetelmää ohjel-5 mistosovelluksen kustomoimiseksi keksinnön erään edullisen suori tusmuodon mukaisesti, kuviot 2a-c esittävät esimerkkinä alkuperäistä konfigurointitiedostoa, muutoskon-figurointitiedostoa ja saatua tuloskonfigurointipuuta keksinnön erään edullisen suoritusmuodon mukaisesti, 10 kuviot 3a-c esittävät esimerkkinä alkuperäistä konfigurointitiedostoa, sisällytettävää XML-tiedostoa ja saatua tulostiedostoa keksinnön erään edullisen suoritusmuodon mukaisesti, kuvio 4 esittää erästä esimerkkijärjestelmää ohjelmistosovelluksen kustomoimiseksi keksinnön erään edullisen suoritusmuodon mukaisesti, ja 15 kuvio 5 esittää esimerkkinä erästä tietokoneohjelmatuotetta sovelluksen kustomoimiseksi keksinnön erään edullisen suoritusmuodon mukaisesti.Fig. 1 is a block diagram illustrating an exemplary method of customizing a software application according to a preferred embodiment of the invention, Figs. 2a-c illustrating an an XML file to be included and a result file according to a preferred embodiment of the invention, Figure 4 illustrates an exemplary system for customizing a software application according to a preferred embodiment of the invention, and Figure 5 illustrates an example computer software product according to a preferred embodiment of the invention.
YKSITYISKOHTAINEN SELITYSDETAILED EXPLANATION
Kuvio 1 esittää lohkokaavion muodossa erästä esimerkkimenetelmää 100 ohjelmistosovelluksen kustomoimiseksi 102 keksinnön erään edullisen suoritusmuodon 20 mukaisesti. Sovellukseen kuuluu tai siihen liittyy alkuperäinen konfigurointitiedosto 106, joka sisältää solmuja edullisesti puuhierarkiassa. Sovellus kustomoidaan eli yhdistetään vähintään yhden muutoskonfigurointitiedoston 104 avulla, joka myös sisältää vähintään yhden solmun.Figure 1 is a block diagram illustrating an exemplary method 100 for customizing a software application 102 according to a preferred embodiment 20 of the invention. The application includes or is associated with the original configuration file 106, which preferably contains nodes in the tree hierarchy. The application is customized, i.e. merged, by means of at least one change configuration file 104, which also contains at least one node.
CMCM
5 Ensimmäisessä vaiheessa 108 tarkistetaan alkuperäisistä ja muutoskonfigurointi- ^ 25 tiedostoista tyyppien (tai alkioiden nimien) ja mahdollisesti myös tunnisteiden avul- o v la, että ne ovat yhteensopivia. Ellei niin ole, yhdistäminen pysähtyy virheeseen o vaiheessa 110, mutta jos ne ovat, yhdistäminen jatkuu vaiheessa 112, jossa alku- | peräisestä konfigurointitiedostosta tehdään tuloskonfigurointipuu. Toisin sanoen ^ kopioidaan alkuperäinen konfigurointitiedosto ja nimetään kopio tuloskonfigurointi- o 30 puuksi niin, että alkuperäinen konfigurointitiedosto voidaan säilyttää muuttamatto- o mana. Tuloskonfigurointipuuta hallitaan edullisesti haihtuvassa muistissa, eikä mi- o ™ tään erityistä tiedostoa tallenneta esimerkiksi levylle. Erään suoritusmuodon mu kaisesti tiedosto voidaan kuitenkin myös tallentaa, mutta se ei ole pakollista.In the first step 108, the original and change configuration files are checked for their compatibility with the types (or item names) and possibly the tags. If not, the merge stops at error o in step 110, but if it does, the merge continues in step 112, where the initial | the resulting configuration file is converted into a result configuration tree. In other words, the original configuration file is copied and the copy is named as the result configuration file 30 so that the original configuration file can be retained unchanged. The result configuration tree is preferably managed in volatile memory, and no special file is stored, for example, on disk. However, according to one embodiment, the file can also be saved but is not required.
77
Sen jälkeen vaiheessa 114 kaikki attribuutit voidaan kopioida muutoskonfigurointi-tiedostosta tuloskonfigurointipuuhun, minkä jälkeen voidaan määrittää muutoskon-figurointitiedoston ensimmäinen attribuutti. Vaiheessa 116 määritellään, onko attribuutteja jo olemassa juuri luodun tuloskonfigurointipuun vastaavassa solmussa. 5 Jos attribuutti on uusi (ei ole olemassa), niin se luodaan tuloskonfigurointipuuhun vaiheessa 118. Jos attribuutti ei ole uusi (on olemassa), niin se korvataan tulos-konfigurointipuussa vaiheessa 120.Then, in step 114, all the attributes can be copied from the change configuration file to the result configuration tree, after which the first attribute of the change configuration file can be specified. Step 116 determines whether the attributes already exist in the corresponding node of the newly created result configuration tree. 5 If the attribute is new (does not exist), it is created in the result configuration tree in step 118. If the attribute is not new (exists), it is replaced in the result configuration tree in step 120.
Seuraavaksi määritetään vaiheessa 122, oliko kyseessä viimeinen attribuutti. Jos kyseessä ei ollut viimeinen attribuutti, otetaan käsittelyyn muutoskonfigurointitie-10 doston seuraava attribuutti vaiheessa 124 ja toistetaan vaiheet 116-120. Jos attribuutti oli viimeinen, niin otetaan käsittelyyn muutoskonfigurointitiedoston ensimmäinen lapsi vaiheessa 128, jossa ensin määritetään vaiheessa 130, onko kyseessä tekstisolmu. Jos on, kaikki teksti tuloskonfigurointipuun vastaavassa solmussa päällekirjoitetaan vaiheessa 132, minkä jälkeen määritetään vaiheessa 15 134, oliko kyseessä viimeinen lapsi. Jos kyseessä ei kuitenkaan ole tekstisolmu, tarkistetaan vaiheessa 136, onko sillä tunniste. Ellei ole, niin tarkistetaan vaiheessa 138, onko tuloskonfigurointipuussa olemassa yhtään solmua, jolla on sama tyyppi. Ellei ole, niin tarkistetaan vaiheessa 140, sisältääkö se tuhoamiskäskyn. Jos kyllä, niin prosessi jatkuu vaiheesta 134. Jos se ei sisällä tuhoamisfunktiota, 20 tekstisolmu lisätään tuloskonfigurointipuuhun vaiheessa 142.Next, in step 122, it is determined whether this was the last attribute. If this was not the last attribute, the next attribute of the change configuration path-10 file is processed in step 124 and steps 116-120 are repeated. If the attribute was the last, the first child of the change configuration file is processed in step 128, which first determines in step 130 whether it is a text node. If so, all the text in the corresponding node in the result configuration tree is overwritten in step 132, then determined in step 15,134 whether it was the last child. However, if it is not a text node, check in step 136 whether it has an identifier. If not, it is checked in step 138 whether there are any nodes of the same type in the result configuration tree. If not, check in step 140 whether it contains a destruction command. If yes, the process continues from step 134. If it does not include a destroy function, the text node 20 is added to the result configuration tree in step 142.
Jos kyseessä ei kuitenkaan ole tekstisolmu, eikä sillä ole tunnistetta, mutta yksikin saman tyypin solmu on olemassa tuloskonfigurointipuussa (vaihe 138), niin seuraava vaihe on vaihe 144.However, if it is not a text node and has no identifier, but one node of the same type exists in the result configuration tree (step 138), then the next step is step 144.
Jos kyseessä ei ole tekstisolmu (vaihe 130), mutta sillä on tunniste (vaihe 136), ^ 25 niin tarkistetaan vaiheessa 146, onko myös tuloskonfigurointipuussa olemassa ° saman tyypin solmu. Ellei, niin solmu lisätään tuloskonfigurointipuuhun vaiheessa ° 142 ja menetelmä jatkuu vaiheesta 134. Jos kuitenkin myös tuloskonfigurointi- g puussa on olemassa saman tyypin solmu, niin tarkistetaan vaiheessa 144, sisäl- x tääkö muutoskonfigurointitiedoston solmu tuhoamiskäskyjä.If it is not a text node (step 130) but has an identifier (step 136), ^ 25 then it is checked in step 146 whether there is a node of the same type in the result configuration tree. If not, then the node is added to the result configuration tree in step 142 and the method continues from step 134. However, if there is a node of the same type in the result configuration tree, then it is checked in step 144 whether the node in the change configuration file contains destruction commands.
CLCL
g 30 Vaiheen 144 jälkeen, mikäli muutoskonfigurointitiedoston solmu sisältää tuhoa-o miskäskyjä, vastaava solmu poistetaan tuloskonfigurointipuusta vaiheessa 148 ja § prosessi jatkuu vaiheesta 134. Mikäli muutoskonfigurointitiedoston solmu ei kui- c\j tenkaan sisällä tuhoamiskäskyjä, se yhdistetään alkuperäisen konfigurointitiedos-ton vastaavan lapsen kanssa vaiheessa 150 ja prosessi jatkuu vaiheesta 134.g 30 After step 144, if the node in the change configuration file contains a delete command, the corresponding node is removed from the result configuration tree in step 148 and the process continues from step 134. If the node in the change configuration file contains no delete commands, it is merged with the original configuration file. step 150 and the process continues from step 134.
88
Vaiheessa 134 tarkistetaan, oliko kyseessä viimeinen lapsi. Ellei, niin seuraava lapsi otetaan käsittelyyn vaiheessa 152 ja menetelmän vaiheet 130-150 toistetaan myös uuden lapsen osalta. Jos lapsi vaiheessa 132 oli kuitenkin viimeinen, niin tu-loskonfigurointipuu palautetaan vaiheessa 154.Step 134 checks to see if it was the last child. If not, the next child is admitted at step 152 and method steps 130-150 are repeated for the new child. However, if the child in step 132 was the last, then the result configuration tree is returned in step 154.
5 Kuvio 2a esittää esimerkkinä alkuperäistä konfigurointitiedostoa 202, kuvio 2b esittää esimerkkinä muutoskonfigurointitiedostoa 204 ja kuvio 2c esittää esimerkkinä saatua tuloskonfigurointipuuta 206 keksinnön erään suoritusmuodon mukaisesti, jolloin kukin muutoskonfigurointitiedoston solmuista 222, 224, 225, 226 yhdistetään alkuperäisen konfigurointitiedoston vastaavien solmujen 220, 221, 222, 223, 10 224, 225 kanssa kuvion 1 menetelmävaiheiden mukaisesti.Figure 2a illustrates an initial configuration file 202, Figure 2b exemplifies a change configuration file 204, and Figure 2c illustrates an exemplary result configuration tree 206 according to an embodiment of the invention, wherein each of the nodes 222, 224, 225, 226 223, 10 224, 225 according to the process steps of Figure 1.
Kuvioissa 2a-c voidaan nähdä, että kuvauksen koko on muuttunut 128:sta 64:ään ja elementti "AccessRule" on lisätty ja elementti "Validate" on kokonaan poistettu (vrt. solmut 220-224 ja 226 tuloskonfigurointipuussa 206).In Figures 2a-c, it can be seen that the mapping size has changed from 128 to 64 and the "AccessRule" element has been added and the "Validate" element has been completely removed (cf. nodes 220-224 and 226 in the result configuration tree 206).
Kuviot 3a-c esittävät esimerkkinä alkuperäistä konfigurointitiedostoa 302, alkupe-15 räiseen konfigurointitiedostoon sisällytettävää XML-konfigurointitiedostoa 304 ja saatua tuloskonfigurointipuuta keksinnön erään suoritusmuodon mukaisesti, kun muutoskonfigurointitiedosto yhdistetään alkuperäisen konfigurointitiedoston kanssa kuvion 1 menetelmävaiheiden mukaisesti.Figures 3a-c illustrate, by way of example, the original configuration file 302, the XML configuration file 304 to be included in the original configuration file 304, and the resulting result configuration tree according to an embodiment of the invention when the change configuration file is merged with the original configuration file.
Kuvio 4 esittää erästä esimerkkijärjestelmää 400 sovelluksen kustomoimiseksi 20 keksinnön erään edullisen suoritusmuodon mukaisesti.Figure 4 illustrates an exemplary system 400 for customizing an application 20 in accordance with a preferred embodiment of the invention.
Järjestelmään kuuluu välineet 402 mainitun alkuperäisen konfigurointitiedoston asettamiseksi tuloskonfigurointipuuksi sekä välineet 404 mainitun muutoskonfigurointitiedoston ainakin yhden solmun vertaamiseksi tuloskonfigurointipuun vastaa-The system includes means 402 for setting said original configuration file as a result configuration tree, and means 404 for comparing at least one node of said change configuration file with a corresponding result configuration tree.
C\JC \ J
^ vaan solmuun. Lisäksi järjestelmään kuuluu välineet 406 sen tarkistamiseksi tulos- ™ 25 konfigurointipuun mainituista solmuista, onko vähintään yksi tuloskonfigurointipuun v mainituista solmuista samaa tyyppiä ja omaa saman tunnisteen kuin mainitun tu- o loskonfigurointipuun kanssa yhdistettävän muutoskonfigurointitiedoston solmu.^ but a knot. The system further includes means 406 for verifying from said nodes in the result ™ configuration tree whether at least one of said nodes in the result configuration tree v is of the same type and has the same identifier as the node of the change configuration file associated with said result configuration tree.
| Ellei, järjestelmä on järjestetty lisäämään mainitun muutoskonfigurointitiedoston ^ mainittu solmu mainittuun tuloskonfigurointipuuhun välineillä 408, ja jos on, järjes- o 30 telmä on järjestetty yhdistämään mainitun muutoskonfigurointitiedoston mainittu o solmu mainitun tulossolmun kanssa välineillä 410, ellei mainitun muutoskonfigu- o . .| Unless, the system is arranged to insert said node of said change configuration file into said result configuration tree by means 408, and if so, the system 30 is arranged to associate said node of said change configuration file with said result node by means 410, if not. .
w rointitiedoston mainittu solmu sisällä tuhoamiskäskyä, jolloin järjestelmä on järjes tetty poistamaan vastaava solmu tulossolmusta välineillä 412.said node of the file contains a destruction command, wherein the system is arranged to remove the corresponding node from the result node by means 412.
99
Lisäksi järjestelmään voi kuulua myös välineet 414 attribuuttien kopioimiseksi tu-loskonfigurointipuun ao. solmuun niin, että jos tuloskonfigurointipuun vastaava solmu jo sisältää mainitun attribuutin, se korvataan, ja jos tuloskonfigurointipuun vastaava solmu ei sisällä attribuuttia, attribuutti luodaan tuloskonfigurointipuun 5 vastaavaan solmuun.Further, the system may also include means 414 for copying the attributes to the node in the result configuration tree so that if the node corresponding to the result configuration tree already contains said attribute, it is replaced and if the corresponding node in the result configuration tree does not contain the attribute.
Järjestelmään voi myös kuulua välineet 416 tekstisolmujen ketjuttamiseksi ja tu-lossolmun alkuperäisen tekstin korvaamiseksi ketjutetulla tekstillä, kuten myös sekamuotoisia alkioita tukevat välineet 418 muutoskonfigurointitiedoston ainakin yhden solmun tekstin lisäämiseksi tuloskonfigurointipuun vastaavaan solmuun kor-10 vaarnatta tuloskonfigurointipuun 422 vastaavan solmun alkuperäisiä tekstisolmuja.The system may also include means 416 for concatenating text nodes and replacing the original text of the node with concatenated text, as well as means 418 for inserting at least one node text of the change configuration file into the corresponding node of the result configuration tree without interleaving
Kaikki nämä välineet 402-418 samoin kuin edullisesti myös konfigurointitiedosto-muistit (401,403, 422) on yhdistetty toisiinsa väylävälineillä 420, jotka siirtävät dataa ao. välineiden välillä. Muistivälineitä 405 käytetään tietojen tallentamiseen ainakin tilapäisesti, ja prosessointivälineitä (kuten CPU) 407 käytetään esimerkiksi 15 väylällä 402 kulkevien, välineiden ja muistien välisten tietovirtojen hallintaan.All these means 402-418, as well as preferably the configuration file memories (401,403, 422), are interconnected by bus means 420 which transfer data between said means. The memory means 405 are used to store data, at least temporarily, and the processing means (such as the CPU) 407 are used, for example, to control the data flows between the means and the memory over the bus 402.
Kuvio 5 esittää esimerkkinä erästä tietokoneohjelmatuotetta 500 sovelluksen kus-tomoimiseksi keksinnön erään edullisen suoritusmuodon mukaisesti.Figure 5 shows an example of a computer program product 500 for embedding an application according to a preferred embodiment of the invention.
Tietokoneohjelmatuotteeseen kuuluu koodivälineet 502 mainitun alkuperäisen konfigurointitiedoston asettamiseksi tuloskonfigurointipuuksi sekä koodivälineet 20 504 mainitun muutoskonfigurointitiedoston ainakin yhden solmun vertaamiseksi tu loskonfigurointipuun vastaavaan solmuun, kun mainittua tietokoneohjelmatuotetta suoritetaan tietokoneella. Lisäksi tietokoneohjelmatuotteeseen kuuluu välineet 506 sen tarkistamiseksi tuloskonfigurointipuun mainituista solmuista, onko vähintään ^ yksi tuloskonfigurointipuun mainituista solmuista samaa tyyppiä ja omaa saman o 25 tunnisteen kuin mainitun tuloskonfigurointipuun kanssa yhdistettävän muutoskon- ό figurointitiedoston solmu. Ellei, tietokoneohjelmatuote on järjestetty lisäämään mai- ^ nitun muutoskonfigurointitiedoston mainittu solmu mainittuun tuloskonfigurointi- ° puuhun koodivälineillä 508, ja jos on, järjestelmä on järjestetty yhdistämään maini- £ tun muutoskonfigurointitiedoston mainittu solmu mainitun tulossolmun kanssa gj 30 koodivälineillä 510, ellei mainitun muutoskonfigurointitiedoston mainittu solmu si- o säilä tuhoamiskäskyä, jolloin järjestelmä on järjestetty poistamaan vastaava solmu o tulossolmusta koodivälineillä 512.The computer program product includes code means 502 for setting said original configuration file as a result configuration tree, and code means 20 504 for comparing at least one node of said change configuration file with the corresponding node of the result configuration tree when said computer program product is executed on a computer. Further, the computer program product includes means 506 for checking from said nodes in the result configuration tree whether at least one of said nodes in the result configuration tree is of the same type and has the same identifier as the node of the change configuration file associated with said result configuration tree. Unless, the computer program product is arranged to add said node of said change configuration file to said result configuration tree by code means 508, and if so, the system is arranged to associate said node of said change configuration file with said result node with coding means 510 of said file node. o store the destruction command, wherein the system is arranged to remove the corresponding node o from the result node by code means 512.
C\JC \ J
Lisäksi tietokoneohjelmatuotteeseen voi kuulua myös koodivälineet 514 attribuuttien kopioimiseksi tuloskonfigurointipuun ao. solmuun niin, että jos tuloskonfiguroin- 10 tipuun vastaava solmu jo sisältää mainitun attribuutin, se korvataan, ja jos tulos-konfigurointipuun vastaava solmu ei sisällä attribuuttia, attribuutti luodaan tulos-konfigurointipuun vastaavaan solmuun.Further, the computer program product may also include code means 514 for copying attributes to the node in the result configuration tree so that if the node corresponding to the result configuration tree already contains said attribute, it is replaced and if the corresponding node in the result configuration tree does not contain the attribute.
Tietokoneohjelmatuotteeseen voi myös kuulua koodivälineet 516 tekstisolmujen 5 ketjuttamiseksi ja tulossolmun alkuperäisen tekstin korvaamiseksi ketjutetulla tekstillä, kuten myös sekamuotoisia alkioita tukevat koodivälineet 518 muutoskonfigu-rointitiedoston ainakin yhden solmun tekstin lisäämiseksi tuloskonfigurointipuun vastaavaan solmuun korvaamatta tuloskonfigurointipuun vastaavan solmun alkuperäisiä tekstisolmuja.The computer program product may also include code means 516 for concatenating text nodes 5 and replacing the original text of the result node with concatenated text, as well as code means 518 for inserting at least one node text in a change configuration file into a corresponding node corresponding to
10 Keksintöä on yllä selitetty viitaten edellä mainittuihin suoritusmuotoihin, ja useita keksinnön etuja on esitelty. On selvää, että keksintö ei rajoitu pelkästään näihin suoritusmuotoihin, vaan käsittää kaikki mahdolliset suoritusmuodot, jotka kuuluvat keksinnöllisen ajatuksen ja seuraavien patenttivaatimusten piiriin.The invention has been described above with reference to the above embodiments, and several advantages of the invention have been demonstrated. It is to be understood that the invention is not limited to these embodiments, but encompasses all possible embodiments which fall within the scope of the inventive idea and the following claims.
C\JC \ J
δ c\j i o O) oδ c \ j i o O) o
XX
cccc
CLCL
C\l O)C \ l O)
OO
OO
1^1?
OO
OO
CMCM
Claims (11)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20070092A FI123305B (en) | 2007-02-02 | 2007-02-02 | Procedures and systems for customizing an application using XML configuration files |
PCT/FI2008/000019 WO2008092989A1 (en) | 2007-02-02 | 2008-01-31 | Method and system for customizing an application using xml configuration files |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20070092A FI123305B (en) | 2007-02-02 | 2007-02-02 | Procedures and systems for customizing an application using XML configuration files |
FI20070092 | 2007-02-02 |
Publications (3)
Publication Number | Publication Date |
---|---|
FI20070092A0 FI20070092A0 (en) | 2007-02-02 |
FI20070092A FI20070092A (en) | 2008-08-03 |
FI123305B true FI123305B (en) | 2013-02-15 |
Family
ID=37832137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI20070092A FI123305B (en) | 2007-02-02 | 2007-02-02 | Procedures and systems for customizing an application using XML configuration files |
Country Status (2)
Country | Link |
---|---|
FI (1) | FI123305B (en) |
WO (1) | WO2008092989A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10261805B2 (en) | 2014-10-08 | 2019-04-16 | Nec Corporation | Information processing apparatus for acquiring and classifying components in a configuration definition, information processing method, and recording medium |
US10331460B2 (en) * | 2016-09-29 | 2019-06-25 | Vmware, Inc. | Upgrading customized configuration files |
CN113448642B (en) * | 2020-03-11 | 2022-11-15 | 成都鼎桥通信技术有限公司 | System file access method and device and electronic equipment |
CN117591117B (en) * | 2024-01-19 | 2024-04-23 | 中建三局信息科技有限公司 | Page generation method, system, equipment and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6725367B2 (en) * | 2001-01-29 | 2004-04-20 | Microsoft Corporation | Methods and systems for constructing and interpreting hierarchical configuration files |
GB2411017A (en) * | 2004-02-13 | 2005-08-17 | Satellite Information Services | Updating mark-up language documents from contained instructions |
US7373586B2 (en) * | 2004-09-03 | 2008-05-13 | International Business Machines Corporation | Differencing and merging tree-structured documents |
US20060130047A1 (en) * | 2004-11-30 | 2006-06-15 | Microsoft Corporation | System and apparatus for software versioning |
-
2007
- 2007-02-02 FI FI20070092A patent/FI123305B/en active IP Right Grant
-
2008
- 2008-01-31 WO PCT/FI2008/000019 patent/WO2008092989A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
FI20070092A (en) | 2008-08-03 |
WO2008092989A1 (en) | 2008-08-07 |
FI20070092A0 (en) | 2007-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI566180B (en) | A system and method thereof for creating dynamically attachable and detachable binary files | |
Wood et al. | Document object model (DOM) level 3 core specification | |
World Wide Web Consortium | Document object model (DOM) level 3 core specification | |
US11321148B2 (en) | Method and system for improving startup performance and interoperability of a virtual application | |
US7774435B2 (en) | System and method for batch tuning intelligent devices | |
US7502996B2 (en) | System and method for fast XSL transformation | |
CA2433247C (en) | System and method for supporting non-native xml in native xml of a word-processor document | |
US7451433B2 (en) | System and method for descriptor classes | |
US7096420B1 (en) | Method and system for automatically documenting system command file tags and generating skeleton documentation content therefrom | |
US7698694B2 (en) | Methods and systems for transforming an AND/OR command tree into a command data model | |
US7779398B2 (en) | Methods and systems for extracting information from computer code | |
US7559052B2 (en) | Meta-model for associating multiple physical representations of logically equivalent entities in messaging and other applications | |
US8924837B2 (en) | Text file interface support in an object oriented application | |
JP5072845B2 (en) | Programmability for XML data store for documents | |
WO2007030586A1 (en) | Programmability for xml data store for documents | |
KR20160018678A (en) | Interface for representing bindings between objects in a web browser's layout engine memory space and objects in a scripting engine memory space | |
US20060259854A1 (en) | Structuring an electronic document for efficient identification and use of document parts | |
FI123305B (en) | Procedures and systems for customizing an application using XML configuration files | |
van Rest et al. | Robust real-time synchronization between textual and graphical editors | |
US20080276230A1 (en) | Processing bundle file using virtual xml document | |
Haase et al. | Introduction to openArchitectureWare 4.1. 2 | |
EP1452962B1 (en) | System and method for defining and using subclasses declaratively within markup | |
US20200257660A1 (en) | Object model generation | |
KR100545633B1 (en) | storage medium for software package descripter file in SCA system and file parsing method thereof | |
Nicol et al. | Document object model (DOM) level 3 core specification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Patent granted |
Ref document number: 123305 Country of ref document: FI Kind code of ref document: B |