|
@@ -6,33 +6,37 @@ Votre programme doit, à partir d'un nom d'auteur donné en argument, extraire l
|
|
|
|
|
|
On souhaite extraire les "article" et les "inproceedings" concernant l'auteur, ainsi que la liste de ses coauteurs. Le document résultat devra ressembler à:
|
|
|
|
|
|
- <extract>
|
|
|
- <name>Totor le Castor</name>
|
|
|
- <coauthors>
|
|
|
- <author>Toto</author>
|
|
|
- <author>Titi</author>
|
|
|
- </coauthors>
|
|
|
- <article key="abcdef">
|
|
|
- <author>Totor le Castor</author>
|
|
|
- <author>Toto</author>
|
|
|
- <author>Titi</author>
|
|
|
- <title>Un article</title>
|
|
|
- <year>2018</year>
|
|
|
- </article>
|
|
|
- </extract>
|
|
|
+```xml
|
|
|
+<extract>
|
|
|
+ <name>Totor le Castor</name>
|
|
|
+ <coauthors>
|
|
|
+ <author>Toto</author>
|
|
|
+ <author>Titi</author>
|
|
|
+ </coauthors>
|
|
|
+<article key="abcdef">
|
|
|
+ <author>Totor le Castor</author>
|
|
|
+ <author>Toto</author>
|
|
|
+ <author>Titi</author>
|
|
|
+ <title>Un article</title>
|
|
|
+ <year>2018</year>
|
|
|
+</article>
|
|
|
+</extract>
|
|
|
+```
|
|
|
|
|
|
Le document doit respecter la DTD suivante:
|
|
|
|
|
|
- <!ELEMENT extract (name, coauthors, article*, inproceedings*)>
|
|
|
- <!ELEMENT name (#PCDATA)>
|
|
|
- <!ELEMENT coauthors (author*)>
|
|
|
- <!ELEMENT article (author+,title,year)*>
|
|
|
- <!ATTLIST article key CDATA #REQUIRED>
|
|
|
- <!ELEMENT inproceedings (author+,title,year)*>
|
|
|
- <!ATTLIST inproceedings key CDATA #REQUIRED>
|
|
|
- <!ELEMENT author (#PCDATA)>
|
|
|
- <!ELEMENT title (#PCDATA)>
|
|
|
- <!ELEMENT year (#PCDATA)>
|
|
|
+```dtd
|
|
|
+<!ELEMENT extract (name, coauthors, article*, inproceedings*)>
|
|
|
+<!ELEMENT name (#PCDATA)>
|
|
|
+<!ELEMENT coauthors (author*)>
|
|
|
+<!ELEMENT article (author+,title,year)*>
|
|
|
+<!ATTLIST article key CDATA #REQUIRED>
|
|
|
+<!ELEMENT inproceedings (author+,title,year)*>
|
|
|
+<!ATTLIST inproceedings key CDATA #REQUIRED>
|
|
|
+<!ELEMENT author (#PCDATA)>
|
|
|
+<!ELEMENT title (#PCDATA)>
|
|
|
+<!ELEMENT year (#PCDATA)>
|
|
|
+```
|
|
|
|
|
|
Notez que le contenu des éléments "article" et "inproceedings" est un sous-ensemble des éléments d'origine.
|
|
|
|