{'fraction_non_alphanumeric': 0.018726591760299626, 'fraction_numerical': 0.0, 'mean_word_length': 5.808917197452229, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Engineering web services with attribute grammars: a case study

Applications based on web services make an extensive use of XML documents. These XML documents are structured according to different markup vocabularies, which represent information such as the inputs and the outputs of the services. This paper proposes a way of implementing web services using a framework called XLOP (XML Language-Oriented Processing). XLOP includes a declarative domain-specific language based on attribute grammars, a well-known declarative specification technique used in the development of language processors. XLOP makes possible the automatic generation of efficient XML-processing components from high-level, declarative specifications, facilitating the development of the aforementioned services and enhancing their maintainability. This technique is illustrated in the context of Chasqui, a system for building repositories of learning objects in specialized domains, which implements a REST web service for checking constraints on the metadata of the stored learning objects.