21 repositorios
Systems for representing and manipulating document structures as hierarchical object trees.
Distinguishing note: Focuses on internal document representation models rather than general-purpose DOM manipulation.
Explore 21 awesome GitHub repositories matching software engineering & architecture · Document Object Models. Refine with filters or upvote what's useful.
Quill is a modular, web-based rich text editor designed for structured content authoring. It provides a comprehensive toolkit for building tailored editing experiences, allowing developers to manage document state, handle user input, and synchronize content through a predictable, serializable data model. The editor distinguishes itself through a custom document abstraction that maps the browser DOM to a structured tree of nodes, ensuring consistent behavior across different environments. It utilizes an operational change tracking system that represents all document modifications as a sequence
The editor uses a custom class hierarchy to represent and manipulate document elements as discrete objects within the internal model.
FreeCAD is an open-source engineering design suite designed for parametric 3D modeling, architectural planning, and mechanical assembly. It functions as a professional-grade platform that utilizes history-based operations to allow for non-destructive design updates, enabling users to construct complex geometry through a sequence of constrained sketches and solid operations. The platform distinguishes itself through a highly modular, workbench-based architecture that allows users to tailor the interface and toolsets to specific engineering domains. It features deep Python integration, which se
Manages object attributes and relationships in a centralized document structure to ensure consistent state persistence.
AIHawk is an automated agent designed to streamline the job application process by integrating large language models with browser automation. It functions as a recruitment workflow tool that parses job requirements and generates personalized application materials to populate online employment forms. The system operates as a browser automation framework, utilizing headless browser control to navigate dynamic web portals and interact with page elements as a human user would. It maintains persistent session states to manage authentication across multiple platforms and employs heuristic-based sel
Provides systems for representing and manipulating web page structures as hierarchical object trees to facilitate form interaction.
PhantomJS is a scriptable, headless browser engine based on WebKit that provides a programmatic interface for automating web page interactions. It operates without a graphical user interface, allowing for the execution of JavaScript to navigate pages, manipulate the document object model, and perform functional testing of web applications. The tool distinguishes itself by providing low-level control over the browser rendering lifecycle and network stack. It enables real-time interception and modification of network traffic, alongside the ability to generate visual snapshots and document expor
Provides a programmatic interface to traverse and modify the live page structure directly within the browser memory space.
This project is a technical educational guide focused on browser architecture and the internal processes used to render web pages. It provides a detailed breakdown of the web request lifecycle, from the initial networking phase to the final visual output on a screen. The guide covers specific technical sequences including the DNS resolution process across browser, operating system, and ISP caches, and the establishment of secure connections through the TLS handshake. It also details the communication flow between clients and servers using the HTTP protocol and server-side request handling. T
Details the construction of the hierarchical object tree used to represent document structures.
This repository serves as an educational curriculum focused on the fundamental concepts of front-end web development. It provides a structured tutorial designed to guide beginners through the essential techniques required to build and design websites using standard markup and styling languages. The materials cover the core principles of web content structuring, including the use of declarative tags to define document hierarchies and the implementation of hypertext navigation. The curriculum also details methods for integrating multimedia assets and applying visual styling rules to control lay
Represents document structures as hierarchical object trees for browser rendering.
MuseScore is a professional music notation application designed for composing, arranging, and engraving musical scores. It provides a graphical interface that renders notation in real-time, allowing users to create and edit complex musical arrangements with immediate visual feedback. The software distinguishes itself through a robust document-object model that manages the relationships between notes, staves, and layout formatting. It supports the standard markup language for music interchange, ensuring that scores can be shared across different notation platforms. Additionally, the applicatio
Maintains a hierarchical tree structure of musical elements to manage complex relationships between notes, staves, and layout formatting.
Jsoup is a Java library designed for parsing, extracting, and manipulating HTML and XML content. It provides a document object model that represents web content as a hierarchical tree, allowing for programmatic navigation and modification of elements, attributes, and text. The library functions as a toolkit for web scraping, enabling the retrieval of remote content via standard web protocols and the management of HTTP sessions for automated form interaction. The library distinguishes itself through its fault-tolerant tokenization, which reconstructs valid document structures from malformed or
Models web content as a hierarchical tree of nodes to enable programmatic navigation and structural modification.
Newtonsoft.Json is a data processing utility for the .NET ecosystem designed to facilitate the transformation and exchange of information. It functions as a serialization library and object mapping framework, enabling the conversion of complex application objects into formatted JSON strings and the reconstruction of structured objects from raw JSON data. The library distinguishes itself through a flexible architecture that supports both strongly-typed class mapping and a dynamic object model for schema-less data manipulation. It employs reflection-based metadata mapping to automate property a
Offers a flexible, schema-less dynamic object model for manipulating JSON data without predefined classes.
PyPDF2 es una biblioteca de Python puro para transformar, asegurar y extraer datos de documentos PDF. Proporciona un conjunto completo de herramientas para modificar layouts de página, gestionar la seguridad de documentos y recuperar metadatos incrustados sin depender de bibliotecas C externas. El toolkit permite el ensamblaje de documentos mediante la fusión de múltiples archivos y la división de documentos en partes más pequeñas. También admite transformaciones a nivel de página, incluyendo la capacidad de rotar páginas y ajustar áreas de recorte visibles. La biblioteca incluye capacidades para la gestión de seguridad mediante cifrado y descifrado basado en contraseña. Además, proporciona utilidades para extraer texto escrito y propiedades administrativas de archivos PDF.
Represents PDF elements as a hierarchical tree of Python objects for programmatic manipulation.
PyPDF2 is a pure Python library for reading, writing, and manipulating PDF files. It functions as a document manipulator, text extractor, and encryption tool, allowing users to process PDF files without relying on external C libraries or native binaries. The library provides specialized tools for modifying document structures, such as merging multiple files into one, splitting documents into separate files, and transforming page layouts through cropping. It also includes capabilities for securing documents via passwords and encryption. Additional capabilities include the extraction of writte
Represents PDF elements as a hierarchical object tree that mirrors the official PDF specification.
This repository contains the HTML specification, which defines the core standards for web page structuring, content organization, and document rendering. It establishes the fundamental algorithms for state-machine-based tokenization, tree construction for the document object model, and origin-based security isolation. The specification provides a framework for defining custom elements with independent lifecycles and registries. It also details the requirements for cross-document communication, session history management, and the synchronization of interface properties with content attributes.
Defines the fundamental system for representing and manipulating document structures as hierarchical object trees.
PyMuPDF is a comprehensive PDF manipulation library and document analysis tool. It serves as a text extraction tool, OCR engine, and image converter, providing a programmatic interface to edit, merge, split, and optimize PDF and Office documents. The project distinguishes itself through high-performance capabilities, including the use of C-bindings for low-level manipulation and parallelized page processing to accelerate workloads. It provides specialized conversion paths, such as transforming PDF content into Markdown for retrieval-augmented generation and large language model pipelines. It
Builds a structured tree of nodes to define document content and layout through a programmatic interface.
PHPWord is a PHP word processing library used for programmatically reading and writing word processing documents. It functions as an OOXML document generator, a word file parser, and a document template engine. The library enables the generation of new documents by applying structured data to existing templates or by creating files from scratch. It provides capabilities for extracting and parsing content, metadata, and structure from existing word processing files. The project covers a broad range of document generation features, including layout formatting, metadata management, and the inse
Implements a document object model that represents word processing elements as a hierarchy of PHP objects.
pdfminer.six is a programmatic tool for extracting text, layout information, and metadata from PDF documents into machine-readable formats. It functions as a document parser that converts internal PDF objects and structures into accessible data objects for analysis. The project includes utilities for decrypting RC4 and AES encrypted files to enable content extraction. It also provides a layout analyzer to identify fonts, colors, and text locations to determine the organizational structure of pages. The system covers a broad range of extraction capabilities, including the retrieval of embedde
Converts binary PDF specifications into a tree of programmable Python objects for structural analysis.
TinyXML-2 es una librería C++ ligera para analizar, manipular y generar documentos XML. Funciona como un procesador XML UTF-8 que representa los datos a través de un Document Object Model (DOM) jerárquico. La librería proporciona herramientas tanto para el análisis DOM como para la generación directa de documentos a través de flujos de datos. Incluye capacidades para navegar por el árbol XML para localizar elementos específicos, modificar atributos y contenido, y resolver entidades de caracteres y referencias numéricas Unicode en texto UTF-8. El procesador incluye validación de sintaxis y utilidades de diagnóstico que rastrean metadatos de número de línea para cada nodo y atributo para informar coordenadas precisas de errores de análisis.
Represents XML data as a hierarchical Document Object Model (DOM) for programmatic navigation and modification.
python-docx is an OOXML document manipulation library used for creating, reading, and updating Microsoft Word files. It functions as a generator for building formatted documents and a parser for extracting text, metadata, and structural elements from existing files. The project provides a comprehensive style management system for defining and applying character, paragraph, and table styles within OpenXML documents. It allows for the programmatic control of document appearance through an object-oriented approach to the underlying XML schema. Capabilities cover a wide range of document generat
Maps document elements to an object-oriented hierarchy mirroring the underlying OpenXML document object model.
Este proyecto es un estándar de especificación formal de Markdown que proporciona una definición detallada de sintaxis de marcado y un conjunto definitivo de reglas para analizar texto plano en una salida HTML consistente. Establece una gramática estandarizada para bloques estructurales y elementos en línea para asegurar un renderizado uniforme en diferentes implementaciones de software. La especificación está respaldada por un conjunto de pruebas de conformidad del parser y una implementación de referencia en C y JavaScript para verificar que las implementaciones se adhieran al estándar. Incluye un sistema para la verificación de implementaciones que compara las cadenas de entrada transformadas con la salida HTML esperada y permite la exportación de datos de prueba de especificación a JSON. El estándar cubre una amplia gama de capacidades de estructuración y formato de contenido, incluyendo encabezados, listas, citas en bloque y reglas horizontales. Define mecanismos para la representación de código mediante bloques cercados o sangrados, integración de HTML y un sistema basado en referencias para gestionar hipervínculos e imágenes. La especificación también detalla un modelo de análisis de dos fases que utiliza una representación de árbol de sintaxis abstracta y normalización de texto basada en Unicode para mantener una jerarquía de documentos predecible.
Establishes a leaf-and-container hierarchy to organize document layout and structural relationships.
Kraken es un framework de interfaz de usuario multiplataforma y runtime de estándares web diseñado para construir aplicaciones nativas utilizando marcado y estilos web estándar. Utiliza un motor de renderizado basado en Flutter para procesar HTML y CSS, produciendo interfaces de usuario visualmente consistentes en plataformas móviles y de escritorio. El sistema se distingue por compilar el runtime a código máquina y emplear un pipeline de rasterización síncrono para asegurar que las animaciones y el desplazamiento coincidan con la fluidez de las aplicaciones nativas. Además, integra componentes nativos de alto rendimiento directamente en un árbol de objetos de documento (DOM) de estándar web, permitiendo la definición de etiquetas HTML personalizadas respaldadas por widgets nativos. El framework cubre una amplia superficie de capacidades, incluyendo la ejecución de árboles de componentes JavaScript, sincronización de estado global y local, y manejo estandarizado de gestos. También proporciona un sistema basado en plugins para extender la API con funciones de backend personalizadas y admite la integración con varios frameworks de frontend. Los flujos de trabajo de los desarrolladores se apoyan mediante la integración con el protocolo Chrome DevTools, permitiendo la inspección del estado de la aplicación y la modificación del estilo de la interfaz de usuario.
Manipulates a structured tree of nodes to dynamically update content, styles, and application state in real time.
Prawn es una biblioteca de Ruby y herramienta de diseño de documentos utilizada para la generación programática de archivos PDF. Funciona como un motor de gráficos vectoriales que permite la creación de documentos portátiles que contienen texto formateado, formas personalizadas y diseños de página organizados. La biblioteca se diferencia por un sistema de renderizado vectorial basado en coordenadas que admite rellenos de degradado de múltiples paradas, polígonos complejos y mezcla basada en capas. Proporciona un sistema de tipografía completo capaz de incrustar fuentes TrueType y OpenType para admitir caracteres UTF-8 y texto de derecha a izquierda para publicaciones multilingües. Las capacidades amplias incluyen la gestión de la estructura del documento con esquemas jerárquicos, la incrustación de imágenes rasterizadas con soporte de transparencia y la inserción de hipervínculos interactivos. El sistema también incluye características de seguridad para el cifrado de documentos y protección con contraseña.
Represents the PDF document as a hierarchical object tree that can be directly manipulated.