XML - Multiples dtds

 
Vista:

Multiples dtds

Publicado por Juanma (2 intervenciones) el 24/05/2005 15:09:17
Hola! Mi problema es el siguiente. Tengo un dtd esquema1 como el siguiente:
<!ELEMENT PROPERTIES (elem1, elem2)>
<!ELEMENT elem1(#PCDATA)>
<!ELEMENT elem2 (#PCDATA)>
Como se puede completar este dtd con más elementos desde otro dtd?

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Completar un DTD con más elementos desde otro DTD utilizando entidades externas

Publicado por Alejandro (258 intervenciones) el 11/07/2023 23:08:10
Si deseas completar un DTD existente con más elementos provenientes de otro DTD, puedes hacer uso de entidades externas. Las entidades externas te permiten incluir contenido de otro DTD en tu DTD principal. Aquí tienes un ejemplo de cómo puedes lograrlo:

1. Crea un nuevo archivo DTD (esquema2.dtd) que contenga los elementos adicionales que deseas agregar al DTD principal. Por ejemplo:

1
2
<!ELEMENT elem3 (#PCDATA)>
<!ELEMENT elem4 (#PCDATA)>

2. En tu DTD principal (esquema1.dtd), utiliza una entidad externa para incluir el contenido del DTD secundario. Puedes hacerlo utilizando la declaración `<!ENTITY>`. Por ejemplo:

1
2
3
4
5
6
7
<!DOCTYPE PROPERTIES [
  <!ENTITY esquema2 SYSTEM "esquema2.dtd">
]>
<!ELEMENT PROPERTIES (elem1, elem2, elem3, elem4)>
<!ELEMENT elem1 (#PCDATA)>
<!ELEMENT elem2 (#PCDATA)>
%esquema2;

En este ejemplo, hemos utilizado `<!ENTITY esquema2 SYSTEM "esquema2.dtd">` para declarar una entidad externa llamada `esquema2` que carga el contenido del archivo `esquema2.dtd`. Luego, hemos incluido los elementos `elem3` y `elem4` en la definición del elemento `PROPERTIES` del DTD principal utilizando `%esquema2;`.

De esta manera, los elementos definidos en el DTD secundario se agregan al DTD principal y pueden utilizarse en combinación con los elementos existentes.

Es importante tener en cuenta que los archivos DTD deben estar ubicados en la misma carpeta o tener una ruta relativa correcta para que las entidades externas se carguen correctamente.

Recuerda que el uso de entidades externas puede afectar la validez y estructura de tu DTD, por lo que es recomendable verificar y validar el DTD resultante después de la inclusión de los elementos adicionales.

¡Espero que esta solución te sea útil para completar tu DTD con más elementos desde otro DTD!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar