Veelgestelde vragen
Licenties & Open Source
Welke licentie gebruikt Aspose.HTML FOSS voor Python?
De bibliotheek wordt uitgebracht onder de MIT License. De volledige tekst wordt meegeleverd als de LICENSE bestand in de GitHub-repository.
Kan ik het gebruiken in commerciële producten?
Ja. De MIT-licentie staat commercieel gebruik, wijziging, herdistributie en sublicentiëring toe. De enige voorwaarde is het behouden van de auteursrechtvermelding en de licentietekst bij substantiële kopieën.
Installatie & Vereisten
Hoe installeer ik de bibliotheek, en welke Python versies worden ondersteund?
Installeer met git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git. De bibliotheek vereist Python 3.10 of hoger; de huidige release is 0.1.0.
Zijn er native afhankelijkheden?
Nee. De implementatie is pure Python — geen browserengine, geen gecompileerde extensies — zodat hij zich identiek gedraagt op Windows, Linux en macOS, inclusief CI-runners en containers.
API Usage
Hoe parse ik HTML naar een document?
Gebruik HTMLDocument.parse() voor volledige pagina’s of HTMLDocument.parse_fragment() voor gedeeltelijke markup. Voor programmatische constructie is Document de node-factory:
from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
el.set_attribute("id", "bar")
doc.append_child(el)Hoe pas ik CSS toe en lees ik de resulterende stijl?
Parse stylesheet-tekst met CSSStyleSheet.replace_sync(), koppel het met Document.attach_style_sheet(), en lees het opgeloste resultaat met Element.get_computed_style():
from aspose_html.cssom import CSSStyleSheet
sheet = CSSStyleSheet()
sheet.replace_sync("#bar { color: blue }")
doc.attach_style_sheet(sheet)
print(el.get_computed_style().get_property_value("color"))Behandelt de cascade specificiteit en !important correct?
Ja. Berekende waarden volgen selector-specificiteit (ID wint van class wint van type), inline-declaraties hebben voorrang boven auteursregels, en !important auteursregels hebben voorrang boven niet-belangrijke inline-declaraties. Overerving loopt van ouder naar kind voor overerfbare eigenschappen.
Kan ik de tokenizer en tree builder direct gebruiken?
Ja — Tokenizer.tokenize() genereert de standaard token-stroom, TreeBuilder.run() voert boomconstructie uit, en parse_html() verpakt de volledige pijplijn in één aanroep.
Hoe werk ik met URL’s en tekencoderingen?
URL.parse() en URL.can_parse() bieden WHATWG-stijl URL-afhandeling met URLSearchParams voor query-strings. Voor ruwe bytes geeft detect_encoding() de codering, een vertrouwensniveau en gedecodeerde tekst terug.
Bekende beperkingen
Zijn er API’s aanwezig maar niet geïmplementeerd?
Er is een klein aantal leden gedeclareerd maar momenteel niet functioneel, waaronder CSSRule.type, CSSRule.css_text en HTMLImageElement.decode. Het limitations.md-bestand in het kennismodel houdt deze bij; vermijd erop te vertrouwen.
Rendert de bibliotheek pagina’s of converteert hij naar andere formaten?
Nee. De huidige release richt zich op parsing, DOM-manipulatie, CSS stijlberekening, lay-outstructuren, URL’s en encoderingen. Het bevat geen formatconversie of afbeelding/PDF-rendering.
Wordt JavaScript automatisch uitgevoerd tijdens het parsen?
Nee. Parsen voert nooit scripts uit. Scriptevaluatie is expliciet en opt-in via JSContext, waarbij het laden van modules wordt geregeld door ModuleRegistry en ModuleLoadPolicy.