-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathxml-tei.html
More file actions
262 lines (236 loc) · 16.8 KB
/
xml-tei.html
File metadata and controls
262 lines (236 loc) · 16.8 KB
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Taller historias visuales georreferenciadas</title>
<style type="text/css">
/* Global styles */
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
line-height: 1.42857143;
color: #333;
background-color: #fff;
margin: 2cm 1cm;
text-align:justify;
}
ul,
ol,
dl,
p {
font-size: 1.5rem;
}
li,
p {
line-height: 1.5;
}
/* Code styles */
code {
font-family: monospace, monospace;
font-size: 1em;
padding: 2px 4px;
color: #c7254e;
background-color: #f9f2f4;
border-radius: 4px;
}
/* Preformatted text styles */
p.francesa {
text-indent: -30px;
margin-left: 40px;
}
pre {
display: block;
padding: 9.5px;
margin: 0 0 10px;
font-size: 13px;
line-height: 1.42857143;
color: #333;
word-break: break-all;
word-wrap: break-word;
background-color: #f5f5f5;
border: 1px solid #ccc;
border-radius: 4px;
}
pre code {
padding: 0;
font-size: inherit;
color: inherit;
white-space: pre-wrap;
background-color: transparent;
border-radius: 0;
}
blockquote {
background-color: #b3aeae;
padding: 10px;
font-family: Courier New;
font-size: 14px;
border-left: 5px solid #ccc;
}
.pre-scrollable {
max-height: 340px;
overflow-y: scroll;
}
/* Container styles */
.main-container {
max-width: 940px;
margin: 0 auto;
font-size: 16px;
text-align: justify;
}
.container-fluid {
padding: 0 15px;
}
/* Image styles */
img {
max-width: 100%;
height: auto;
}
/* Social icons */
.social-icon {
font-size: 24px;
}
.social-name {
font-size: 16px;
}
.footnote {
margin: 0;
padding: 0;
font-size: 1em;
font-family: inherit;
text-decoration: none;
}
.image-container {
text-align: center;
margin-bottom: 0.5cm;
}
</style>
<!--iframe-->
<style>
#frame {
border: 2px dotted;
width: 600px;
height: 600px;
margin: 1cm;
}
</style>
<!-- CSS: Bootstrap and Devicon -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/devicons/devicon@v2.15.1/devicon.min.css">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-dark navbar-expand-lg bg-dark">
<div class="container-fluid">
<div class="mx-5">
<a class="navbar-brand" href="materiales.html">Materiales</a>
</div>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarTogglerDemo02"
aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarTogglerDemo02">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link" href="index.html">Inicio</a>
</li>
<li class="nav-item">
<a class="nav-link" href="descargas.html">Descargas</a>
</li>
</ul>
</div>
</div>
</nav>
<div class="container-fluid main-container">
<h1 class="title toc-ignore">Marcado XML-TEI</h1>
<h4 class="author">Romina De León</h4>
<h5><a href="mailto:romideleon@gmail.com" class="email">romideleon@gmail.com</a></h5>
</div>
<div class="container-fluid main-container">
<nav id="index">
<h2>Índice</h2>
<ul>
<li><a href="#section-id1">Conceptos generales de documentos TEI</a></li>
<li><a href="#section-id2">Estructura de un XML-TEI</a></li>
<li><a href="#section-id3">Ejemplo de marcado</a></li>
<!--<li><a href="#section-id4"></a></li>-->
<li><a href="#section-id5">Ejercitación</a></li>
</ul>
</nav>
</div>
<div class="container-fluid main-container">
<div id="section-id1" class="section level3">
<h2>Conceptos generales de documentos TEI</h2>
</div>
<p>Volvamos a repasar algunas ideas que vimos sobre <a href="marcado_texto-xml.html">marcado</a>. Dicha acción refiere a la selección de una parte del documento, que puede poseer un significado de forma o semántico, y señalarlo con una <strong>etiqueta</strong>, es decir una marca digital. Estas nos indican una intrucción que será interpretada por la computadora, además delimita, con su apertura y cierre, donde comienza y termina dicho código.</p>
<p>Se entiende por <em>elementos</em> a la información semántica que compone a una etiqueta, de apertura y de cierre (aunque existen etiquetas que pueden fundirse en una sola). Dentro de las etiquetas se encuentran los <strong>identificadores</strong>, y entre las etiqueta de apertura y cierre del elemento está el <strong>contenido</strong>. En nuestro ejemplo de <a href="https://raw.githubusercontent.com/rominicky/materiales/refs/heads/main/assets/carta-isabel-de-guevara.xml">documento TEI</a> observamos que el <em>prologo</em> de la carta aparece marcado con el elemento <<span style="color: dodgerblue;">head</span> <span style="color: cyan;">type</span>=<span style="color: darksalmon;">"dedicatoria"</span>>, y el contenido que se encuentra entre dicha etiqueta:</p>
<blockquote><<span style="color: dodgerblue;">head</span> <span style="color: cyan;">type</span>=<span style="color: darksalmon;">"dedicatoria"</span>>Carta de <<span style="color: dodgerblue;">name</span>>doña Isabel de Guevara</<span style="color: dodgerblue;">name</span>> a la princesa gobernadora doña Juana, exponiendo los trabajos hechos en el descubrimiento y conquista del Río de la Plata por las mugeres, para ayudar á los hombres, y pidiendo un repartimiento para su marido.
Asunción, <<span style="color: dodgerblue;">date</span>>2 de julio de 1556</<span style="color: dodgerblue;">date</span>></<span style="color: dodgerblue;">head</span>></blockquote>
<p>Además, como observan en el elemento <em>head</em>, estos pueden contener uno o más <strong>atributos</strong> que añaden característica adicionales al elemento, complementando el marcado. El formato que deben tener los atributos es: primero su nombre, en nuestro ejemplo sería <em>type</em>, seguido por <strong>=</strong>, y entre comillas el <strong>valor</strong> de dicho atributo. Este debe estar formado por una cadena de caracteres sin espacio, y siempre tengan en cuenta que XML-TEI <strong>es sensible</strong> al uso de mayúsculas y minúsculas.</p>
<code>Recuerde mi recomendación de no utilizar signos especiales como tildes, espacios, puntos, etc., al nombrar documentos, carpetas u otros archivos, con el objetivo de evitar problemas en los procesos informáticos. En su lugar, es preferible usar guiones bajos (_) para separar palabras. Este consejo es útil especialmente al trabajar con sistemas operativos, programación o en ambientes donde los nombres de archivos y rutas pueden generar errores o dificultades en su procesamiento.</code>
</div>
<div class="container-fluid main-container">
<div id="section-id2" class="section level3">
<h2>Estructura de un XML-TEI</h2>
</div>
<p>Ahora, pasemos a detallar la estructura de un documento XML-TEI. Su composición más sencilla:</p>
<ul>
<li>Declaración XML, <strong>?xml version=...</strong></li>
<li>Esquema que se asociar al documento, <strong>?xml-model href...</strong>, <strong>*.rng</strong></li>
<li>Elemento raíz y declaración del <strong>espacio de nombre</strong> <strong><span style="color: blue;"><TEI xmlns="url"></span></strong>, debe tener cierre de etiqueta</li>
<li>Encabezado, <strong>teiHeader</strong>, se debe cerrar la etiqueta</li>
<li>Cuerpo del texto, <strong>text</strong>, debe tener cierre de etiqueta</li></ul>
<p>
Veamos algunos detalles de cada uno. La <strong>primera línea</strong> donde se indica la <strong>declaración XML</strong> no debe ir precedido por ningún otro elemento ni comentarios, así como tampoco por espacio en blanco. Tiene como función crucial indicar el tipo de documento, la versión de estándar XML y la codificación utilizada, cada uno de estos debe ser respetado y señalado correctamente.
</p>
<p>Luego sigue la <strong>declaración de modelo XML</strong>, en esta línea indicaremos el esquema RelaxNG. Este especificará el conjunto de reglas que sigue nuestro documento para ser válido. Esto declara los elementos obligatorios, los optativos, atributos que pueden agregarse, etc. La opción que utilizaramos, RelaxNG es altamente recomendada y utilizada por la TEI. Asimismo, este esquema puede personalizarse, esta posibilidad se debe a la forma modular del marcado TEI, a la que nos hemos referido en <a href="marcado_texto-xml.html" target="_blank">¿Qué es TEI?</a><a href="#section-fn1" class="footnote-ref"><sup>1</sup></a>. Es importante que recuerden que el esquema se encuentre en la misma carpeta que el archivo marcado, para que la interación sea correcta, y VS Code pueda indicarnos si el XML-TEI es válido y bien formado.</p>
<p>A continuación encontraremos la línea de <strong>elemento raíz</strong> y declaración del <strong>espacio de nombres</strong>. El elemento raíz es el contenedor principal de un documento TEI, siempre debe ser <span style="color: blue;"><TEI></span>, y todo el contenido del archivo debe estar dentro de este elemento; además agrupa y organiza otros subelementos, como <span style="color: blue;"><teiHeader></span>, que contiene los metadatos descriptivos (autor, título, fecha, etc.) y <span style="color: blue;"><text></span>, donde se encuentra el cuerpo del texto. Por su parte, el <strong>espacio de nombres</strong> (Namespace), representa una convención que evita conflictos entre nombres de elementos al combinarse diferentes vocabularios XML.</p>
<p>En el encabezado de TEI <span style="color: blue;"><teiHeader></span>, como se mencionó, se añaden los metadatos del texto y sobre el proceso de codificación. Dentro de este, el único elemento obligatorio es el <span style="color: blue;"><fileDesc></span> <em>(recuerden que es sensible a las mayúsculas y minúsculas)</em>, allí se encontrará <span style="color: blue;"><titleStmt></span>, <span style="color: blue;"><publicationStmt></span> y <span style="color: blue;"><sourceDesc></span>, es decir, la información más importante sobre el documento XML-TEI. El primero de estos tres, refiere al título de la obra a codificar, también puede contener información sobre autor, edición, etc. En <em>publicationStmt</em> se presentará información sobre la publicación digital, editorial, fecha, tipo de licencia, etc. Mientras que en <em>sourceDesc</em> añadiremos la información sobre la fuente primaria, si es manuscrita o impresa, si es obra singular o corpus, etc. En este segmento, también podemos agregar información relativa a la codificación de TEI por medio de <span style="color: blue;"><encodingDesc></span>; al perfil del texto mediante <span style="color: blue;"><profileDesc></span>; y con <span style="color: blue;"><revisionDesc></span> podemos registrar los cambios realizados en el texto digital.</p>
<p>En el cuerpo del texto, delimitado con la etiqueta <span style="color: blue;"><text></span>, podremos marcar <span style="color: blue;"><front></span>, <span style="color: blue;"><body></span> y <span style="color: blue;"><back></span>. La primera es para codificar paratextos, como ser prefacios, prólogos, etc. Con <em>body</em>, etiqueta obligatoria, marcaremos el texto propiamente dicho; y finalmente con <em>back</em> se puede codificar índices, cronologías, bibliografías, etc.</p>
<span>Dentro del cuerpo del documento, uno de los elementos más importantes es <span style="color: blue;"><div></span>, que podrá utilizarse para marcar cualquier tipo de sección estructural del texto, por ejemplo, tomos, volúmenes, capítulos, etc. Identificar diferentes secciones del texto es una buena práctica, y podremos además sumarle un atributo del tipo <span style="color: blue;"><type></span> que nos ayudará a particularizar cada sección. El valor <span style="color: blue;">type</span> se ajustará a nuestros interes. Otro atributo muy utilizado es <span style="color: blue;"><id></span> que asigna un identificador único, permitiendo aislar una parte del texto, facilitando así la recuperación de la misma en el texto general.
</p>
<p>
También dentro de <span style="color: blue;"><body></span> podremos señalar <span style="color: blue;"><head></span> que nos permitirá el marcado de elementos como títulos, epígrafes, etc., al mismo podremos añadirle atributos como en los elementos anteriormente mencionados. Los párrafos serán la unidad básica de los textos en prosa y se codificarán con <span style="color: blue;"><p></span>, asimismo se podrían delimitar segmentos por medio de <span style="color: blue;"><s></span>, indicando con el atributo <span style="color: blue;"><type></span> su especifidad según nuestras necesidades.
</p>
</div>
<div class="container-fluid main-container">
<div id="section-id3" class="section level3">
<h2>Ejemplo de marcado </h2>
<p>En esta unidad trabajaremos con la <em>Carta de Isabel de Guevara a la princesa</em>, publicada en 1903 en la obra <em>Viaje al Río de la Plata: (1534-1554)</em> de <em>Ulrich Schmídel</em>. La misma fue obtenida de <a href="https://www.cervantesvirtual.com/obra/viaje-al-rio-de-la-plata-1534-1554/" target="_blank">Cervantes Virtual</a>.</p>
</div>
</div>
<div class="container-fluid main-container">
<div id="section-id4" class="section level3">
<h2></h2>
</div>
<p> </p>
</div>
<div class="container-fluid main-container">
<div id="section-id5" class="section level3">
<h2>Ejercitación</h2>
<p> La carta de Isabel fue codificada con elementos básicos mencionados en este apartado. Asimismo los invito a realizar su propia codificación con el archivo de texto plano. Les recomiendo que primero lo guarden con XML, luego que vayan añadiendo los elementos obligatorios para un XML-TEI bien formado y válido, y finalmente que observen si su archivo es correcto según las Guidelines de TEI.<a href="#section-fn2" class="footnote-ref"><sup>2</sup></a></p>
</div>
<p></p>
</div>
<div class="container-fluid main-container">
<div class="section level2">
<h2>Bibliografía recomendada:</h2>
<p class="francesa"> Burnard, L. & Sperberg-McQueen, C. M. (2012). TEI Lite: Encoding for Interchange: an introduction to the TEI. Final revised edition for TEI P5. <em>TEI</em>. <a href="https://tei-c.org/release/doc/tei-p5-exemplars/html/tei_lite.doc.html" target="_blank">https://tei-c.org/release/doc/tei-p5-exemplars/html/tei_lite.doc.html</a></p>
<p>Calarco, G. & Márquez Molins, C. (2022). "Edición filológica con Visual Studio Code." <em>TTHub. Hub de Tecnologías del Texto</em>. <a href="https://tthub.io/aprende/tutorial/edicion-digital-con-VS-code/" target="_blank">https://tthub.io/aprende/tutorial/edicion-digital-con-VS-code/</a></p>
<p>Desenclos, C. (2016). 10. Early Modern Correspondence: A New Challenge for Digital Editions. En <em>Open Book Publishers</em> (pp. 183-200). <a href="https://doi.org/10.11647/obp.0095.10">https://doi.org/10.11647/obp.0095.10</a></p>
</div>
<div class="footnotes footnotes-end-of-document">
<hr />
<ol>
<li id="section-fn1"><p>Puede acceder a diversos esquemas personalizados desde <a href="https://tei-c.org/guidelines/customization/" target="_blank">https://tei-c.org/guidelines/customization/</a>. En el siguiente apartado trabajaremos sobre las posibilidades de diseñar nuestro propio RelaxNG.<a href="#section-id3" class="footnote-backref">↩</a></p></li>
<li id="section-fn1"><p>Pueden observar los pasos seguidos en la codificación de la carta en el siguiente <a href="https://youtu.be/dmnrNkCj4PM" target="_blank">vídeo</a>.<a href="#section-id3" class="footnote-backref">↩</a></p></li>
</ol>
</div>
</div>
<!-- JS: Bootstrap -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-qphytj8LA8exTJO1r1CXbIktKW5mbxc1Y7ubtvnUP07o0f21E8rGTk7FWeF6mcA7" crossorigin="anonymous">
</script>
</body>
</html>