Om maar meteen met de deur in huis te vallen:
Ik probeer met behulp van PHP-tidy van een html-file een valid xhtml-fle te maken om deze later met behulp van xslt om te zetten in een grote xml-file.
Dat doe ik op deze manier:
wat is nu het probleem?
1.
dus tweemaal een xmlns-declaratie. Waar komt die vandaan? In het brondocument dat ik gebruik staat alleen <html>, dus tidy verzint het er twee keer bij?
2. 
 achter elke regel. Hoe kom ik daar vanaf?
3. test.html bevat ook de code: <?xml version="1.0" standalone="yes"?>
prima, maar volgens mijn xml-editor (<oXygen/>) hoort een standalone document bijvoorbeeld bij elke <td> een colspan en een rowspan mee te geven. Dit is in een aantal gevallen wel het geval, omdat daar de colspan meer dan de standaard 1 is, maar ik hoef toch niet in alle gevallen een colspan op te geven?
Ik heb al gezocht op de websites/documentatie van php alsmede die van tidy (http://tidy.sourceforge.net/docs/quickref.html) maar ik kan niet tot een oplossing komen. Wie wel?
Alvast bedankt
Ik probeer met behulp van PHP-tidy van een html-file een valid xhtml-fle te maken om deze later met behulp van xslt om te zetten in een grote xml-file.
Dat doe ik op deze manier:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| <?php //pagina ophalen $doc = @DOMDocument::loadHTMLFile("http://www.tweakers.net"); // tweakers.net als voorbeeld $html = $doc->saveHTML(); // DOM naar string // Specify configuration $config = array( 'indent-attributes' => true, 'alt-text' => "", 'drop-font-tags' => true, 'output-xhtml' => true); // Tidy $tidy = new tidy; $tidy->parseString($html, $config, 'utf8'); $tidy->cleanRepair(); $tidy = trim($tidy); // Output //echo $tidy; $newdoc = DOMDocument::loadHTML($tidy); echo $newdoc->saveXML(); //pagina opslaan als test.html $newdoc->save("test.html"); ?> |
wat is nu het probleem?
1.
code:
1
| <html xmlns="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml"> |
dus tweemaal een xmlns-declaratie. Waar komt die vandaan? In het brondocument dat ik gebruik staat alleen <html>, dus tidy verzint het er twee keer bij?
2. 
 achter elke regel. Hoe kom ik daar vanaf?
3. test.html bevat ook de code: <?xml version="1.0" standalone="yes"?>
prima, maar volgens mijn xml-editor (<oXygen/>) hoort een standalone document bijvoorbeeld bij elke <td> een colspan en een rowspan mee te geven. Dit is in een aantal gevallen wel het geval, omdat daar de colspan meer dan de standaard 1 is, maar ik hoef toch niet in alle gevallen een colspan op te geven?
Ik heb al gezocht op de websites/documentatie van php alsmede die van tidy (http://tidy.sourceforge.net/docs/quickref.html) maar ik kan niet tot een oplossing komen. Wie wel?
Alvast bedankt