Visualizar a estrutura da árvore XML
tenho vários ficheiros XML que têm uma estrutura semelhante, mas com algumas diferenças que não posso ignorar. São todos documentos TEI.
Estou à procura de uma forma de delinear a estrutura principal.
Tome como exemplo o seguinte texto:
<text xmlns="http://www.tei-c.org/ns/1.0" xml:id="d1">
<body xml:id="d2">
<div1 type="book" xml:id="d3">
<head>Songs of Innocence</head>
<pb n="4"/>
<div2 type="poem" xml:id="d4">
<head>Introduction</head>
<lg type="stanza">
<l>Piping down the valleys wild, </l>
<l>Piping songs of pleasant glee, </l>
<l>On a cloud I saw a child, </l>
<l>And he laughing said to me: </l>
</lg>
Eu gostaria de suprimir os nós do mesmo tipo e todas as estruturas repetitivas:
<body xml:id="d2">
<div1 type="book" xml:id="d3">
<head>Songs of Innocence</head>
<pb n="4"/>
<div2 type="poem" xml:id="d4">
<head>Introduction</head>
<lg type="stanza">
<l>...</l>
</lg>
<lg>...</lg>
Então, basicamente eu quero reduzir o documento XML para sua estrutura mais básica. Desta forma eu pode descobrir como convertê-los corretamente usando XSLT.
4
2 answers
Aqui estão algumas opções para ver o seu XML numa estrutura de árvore:
- Abra o XML num navegador web e obtenha uma visão geral com elementos desmontáveis.
- Abra o XML na área gráfica em oxigénio, QTAssistant, ou XMLSpy .
- Use Graphviz ou DotML ant build para criar o seu próprio representacao.
0
Author: kjhughes, 2017-05-23 11:45:02
Usando o perl XML::: DT, (apt-get install libxml-dt-perl
Se não estiver instalado),
o comando mkxmltype file.xml
devolve uma descrição compacta do
estrutura xml. Exemplo
$ mkxmltype -lines=1000 a.xml
# text ...Fri Feb 26 17:56:24 2016
text => body * xml:id
body => div1 * xml:id
div1 => tup(div2, pb, head) * type * xml:id
div2 => tup(head, lg) * type * xml:id
pb => empty * n
head => text
lg => seq(l) * type
l => text
0
Author: JJoao, 2016-02-26 17:58:35