-
Traduisez ces arbres en documents XML X1.xml et X2.xml.
Solution :
X1.xml:
<?xml version="1.0" encoding="UTF-8"?>
<A>
<B>
<E>4</E>
<E>3</E>
</B>
<B>
<E>1</E>
</B>
<C>
<F>a</F>
</C>
<E>2</E>
</A>
X2.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<A>
<B>
<E>4</E>
<E>3</E>
</B>
<B></B>
<C>
<F>a</F>
<F>b</F>
</C>
</A>
- Est-ce que la DTD suivante accepte les deux documents XML? Jusitifiez votre réponse.
<!ELEMENT A ((B)*,C) >
<!ELEMENT B (E)* >
<!ELEMENT C (F)+ >
<!ELEMENT E (#PCDATA) >
<!ELEMENT F (#PCDATA) >
Solution : Cette DTD accepte le document X2 mais pas le
document X1 qui contient, par exemple, un element de type A avec un
fils de type E, ce qui n'est pas permis par la DTD.
- Définissez une DTD qui accepte les deux documents (arbres) XML.
Solution :
<!ELEMENT A ((B)*,C,(E)?)>
<!ELEMENT B (E)*>
<!ELEMENT C (F)+>
<!ELEMENT E (#PCDATA)>
<!ELEMENT F (#PCDATA)>
- Définissez une DTD qui accepte le premier document XML, mais pas
le deuxième.
Solution :
<!ELEMENT A ((B)*,C,E)>
<!ELEMENT B (E)+>
<!ELEMENT C F>
<!ELEMENT E (#PCDATA)>
<!ELEMENT F (#PCDATA)>