Convertendo HTML para XML e XSL

E ae galera…

Seguinte, gostaria de saber se alguém sabe como q eu faço essa conversão: HTML -> XML utilizando folha de estilo XSL…

Alguma api ou na mão mesmo…

Valews

Grato

Ae …

HTML -> XML? Sei não … principalmente porque XSL só transforma XML válido, e HTML não necessariamente é um.

O contrário (XML->HTML) você faz fácil com um parser qualquer.

Olá

A resposta do smota quanto ao HTML está perfeita.

Mas há uma coisa que não estou bem certo mas vc pode investigar (e depis nos informar). Acho que o Xerces-Java parseia o seu documento se ele for escrito em XHTML bem formado (não sei se precisa ser válido tb).

Se o html é dinâmico, o melhor seria na sua geração gerar tb o xml.

[]s
Luca

Um documento XHTML bem formatado eh necessariamente um documento valido, e vice-versa.

Rafael

Aêee galera…

Valew… :lol:

Olá

Rafael, não parece ser bem assim…

Segundo http://www.w3.org/TR/xhtml1/#guidelines[list]
Validation
Validation is a process whereby documents are verified against the associated DTD, ensuring that the structure, use of elements, and use of attributes are consistent with the definitions in the DTD.

Well-formed
A document is well-formed when it is structured according to the rules defined in Section 2.1 of the XML 1.0 Recommendation [XML]. [/list]

Section 2.1 of the XML 1.0 Recommendation [XML][list]
2.1 Well-Formed XML Documents
[Definition: A textual object is a well-formed XML document if:]

  1. Taken as a whole, it matches the production labeled document.
  2. It meets all the well-formedness constraints given in this specification.
  3. Each of the parsed entities which is referenced directly or indirectly within the document is well-formed.[/list]

Ainda no site do w3c, na mesma especificação do xhtml, seção 4.1 (informativa)[list]
Well-formedness is a new concept introduced by [XML]. Essentially this means that all elements must either have closing tags or be written in a special form (as described below), and that all the elements must nest properly.[/list]

No site do Xerces-java diz claramente que o xhtml deve ser bem formado, isto é, que todos os elementos precisam ter fechamento e estarem devidamente aninhados. Mas não diz nada se ele deve ser válido, isto é, se precisa ser validado por DTD seja ela strict, transitional ou frameset. Em outras palavras, se fosse usado um par de tags <bode>qq coisa</bode> seria bem formado mas não seria válido. Tudo indica que o Xerces-Java conseguiria parsear para XML.

[]s
Luca

Sim, tranquilamente: XHTML já é um documento XML válido se for bem-formado, vc nao precisa nem validar, e nao precisa nem da declaracao de DTD se nao quiser. Mas acho que vc quis dizer “tudo indica que o Xerces conseguiria parsear como qualquer XML” :wink:

Olá

CV, meu raciocínio seguiu outra linha. Me ative estritamente nas definições de bem formado (tags abrindo e fechando, elementos aninhados) e válido (elementos de acordo com a DTD).

Pensei assim: um programador cria uma página xhtml que ninguém ainda viu e ninguém ainda validou (usando um tidy qq da vida). Pode ser que ele escreva <bode>qq coisa </bode> ao invés de <body>qq coisa</body>. Este xhtml é bem formado mas não é válido.

Para o Xerces-Java isto não fará diferença nenhuma, ele vai gerar um xml igualmente bem formado a partir do tal xhtml.

[]s
Luca

Perfeito. :slight_smile:

Para o Xerces faz diferenca caso vc ative a validacao - nesse caso, ele vai bater o documento contra a DTD e vai perceber que tem tag errada ali. Se vc desligar a validacao, ele so vai prestar atencao na boa formacao do documento, o que aconteceria sem problemas aqui. Mas eu ainda nao entendi esse “ele vai me gerar um xml igualmente bem formado a partir do tal xhtml”… XHTML já é XML, e o Xerces, ate onde eu sei, é só um parser :wink:

Olá

Bem, na verdade falei de algo que não devo ter usado ainda como criar um xhtml e passa-lo para xml. Talvez naveguei em pura teoria e formalidade. O movimento contrário seria mais natural: xml + css (ou xsl) = xhtml

Na prática um xhtml inválido é um bug a ser corrigido o mais rápido possível.

[]s
Luca