Het World Wide Web Consortium (W3C) heeft een aantal gratis tools beschikbaar om te helpen bij het correct genereren en verwerken van HTML- en XML-bestanden. Het HTML-XML-pakket bestaat uit een reeks eenvoudige hulpprogramma's voor het bewerken van HTML- en XML-bestanden vanaf de opdrachtregel. Het is beschikbaar voor veel van de verschillende Linux-distributies en kan handig zijn voor degenen die regelmatig HTML- of XML-bestanden moeten verwerken.

Om het pakket op Ubuntu te installeren, gebruik:

 sudo apt-get install html-xml-utils 

Er zijn 31 tools in dit pakket, hier is een samenvatting van wat ze kunnen doen:

  • cexport - maak een headerbestand van geëxporteerde declaraties uit een C-bestand
  • hxaddid - ID's toevoegen aan geselecteerde elementen
  • hxcite - vervang bibliografische referenties door hyperlinks
  • hxcite-mkbib- verwijzingen uitbreiden en bibliografie maken
  • hxcopy- kopieer een HTML-bestand met behoud van relatieve links
  • hxcount - tel elementen en attributen in HTML- of XML-bestanden
  • hxextract - geselecteerde elementen uitpakken
  • hxclean - heuristieken toepassen om een ​​HTML-bestand te corrigeren
  • hxprune - verwijder gemarkeerde elementen uit een HTML-bestand
  • hxincl-expand bevatte HTML- of XML-bestanden
  • hxindex - maak een alfabetisch gesorteerde index
  • hxmkbib - maak een bibliografie van een sjabloon
  • hxmultitoc- maak een inhoudsopgave voor een set HTML-bestanden
  • hxname2id- verplaats wat ID = of NAME = van A-elementen naar hun ouders
  • hxnormalize - pretty-print een HTML-bestand
  • hxnum - koptitels van een nummer in een HTML-bestand
  • hxpipe- converteer XML naar een formaat dat eenvoudiger te ontleden is met Perl of AWK
  • hxprintlinks- nummer links & voeg een tabel met URL's toe aan het einde van een HTML-bestand
  • hxremove- verwijder geselecteerde elementen uit een XML-bestand
  • hxtabletrans- transponeer een HTML- of XHTML-tabel
  • hxtoc - voeg een inhoudsopgave in een HTML-bestand in
  • hxuncdata - vervang CDATA-secties per tekenentiteit
  • hxunent - vervang HTML-voorgedefinieerde karakterentiteiten in UTF-8
  • hxunpipe- zet output van pijp terug naar XML-formaat om
  • hxunxmlns - vervang "global names" door voorvoegsels voor XML Namespace
  • hxwls - lijst links in een HTML-bestand
  • hxxmlns - XML-naamruimten voorvoegsels vervangen door "algemene namen"
  • asc2xml, xml2asc-convert tussen UTF8 en entiteiten
  • hxref - kruisverwijzingen genereren
  • hxselect- extract-elementen die overeenkomen met een (CSS) selector

Om u kennis te laten maken met de kracht van deze toolset, volgen hier enkele voorbeelden van hoe u enkele van de opdrachten zou gebruiken.

Met de opdracht " hxnormalize " wordt een HTML-bestand opnieuw geformatteerd zodat het gemakkelijk te lezen en mooi opgemaakt is. Om deze opdracht te testen, maken we een lelijke HTML. Selecteer en kopieer de volgende regels en plak ze rechtstreeks in een terminalvenster.

 cat> test.html << __EOF__ 

Hallo __EOF__

Hiermee wordt een bestand gemaakt met de naam test.html. De HTML mist enkele afsluitende tags en staat allemaal op één regel geschreven. De opdracht hxnormalize zal het bestand opnieuw formatteren en de mooie versie naar de standaarduitvoer (stdout) schrijven. Hier is hoe je het commando uitvoert:

 hxnormalize -e test.html 

De vlag "-e" geeft de foutmelding om ontbrekende sluitingstags in te voegen.

U kunt de opdracht ook tegen een webpagina uitvoeren door 'test.html' te vervangen door een URL, bijvoorbeeld:

 hxnormaliseren http://www.example.com 

De opdracht hxwls een lokaal HTML-bestand of een website en geeft de links in de HTML weer. Bijvoorbeeld:

 hxwls http://www.example.com 

Dit zijn de eerste paar regels met uitvoer voor de website Make Tech Easier:

Met de opdracht hxtabletrans wordt een tabel gewijzigd, zodat rijen kolommen worden en kolommen rijen worden.

Laten we een HTML-bestand maken met een eenvoudige tabel. Selecteer en kopieer de volgende regels en plak ze rechtstreeks in een terminalvenster.

 cat> table.html << __EOF__ 
Jillsmid50
VooravondJackson94
__EOF__

Het resultaat is een bestand met de naam table.html. In een webbrowser ziet de tabel er ongeveer zo uit:

Jillsmid50
VooravondJackson94

Als u de opdracht hxtabletrans, wordt de getransponeerde tabel naar de standaarduitvoer geschreven. De resultaten kunnen worden omgeleid naar een ander bestand zoals dit:

 hxtabletrans table.html> table2.html 

Het nieuwe bestand, table2.html, toont Jill Smith en Eve Jackson in kolommen, in plaats van in rijen zoals in het origineel. De resulterende tabel zal ongeveer zo zijn:

JillVooravond
smidJackson
5094

De meeste opdrachten worden op dezelfde manier gebruikt als de bovenstaande voorbeelden, dwz u moet een bestand of URL opgeven om te verwerken en de uitvoer wordt naar de stdout geschreven. Experimenteer met de verschillende commando's, omdat je ze misschien handig vindt.

Als u vragen heeft over de HTML-XML-hulpprogramma's, aarzel dan niet om deze in de onderstaande opmerkingen te stellen en we zullen zien of we u kunnen helpen.