<commit_before>## XML Processing in .NET
### _Homework_

1.  Create a XML file representing catalogue.
  * The catalogue should contain albums of different artists.
  * For each album you should define: `name`, `artist`, `year`, `producer`, `price` and a list of `songs`.
  * Each song should be described by title and duration.

	**CatalogFirstCreation**

	**Catalogs/catalog.xml**
2.  Write program that extracts all different artists which are found in the `catalog.xml`.
  * For each author you should print the number of albums in the catalogue.
  * Use the DOM parser and a hash-table.

	**ArtistsExtraction**
3.  Implement the previous using XPath.

	**ArtistsExtraction**

4.  Using the DOM parser write a program to delete from `catalog.xml` all albums having price > 20.

	**ExpensiveAlbumsRemoval**


5.  Write a program, which using `XmlReader` extracts all song titles from `catalog.xml`.

	**[SongTitleExtraction](SongTitleExtraction)**


6.  Rewrite the same using `XDocument` and LINQ query.

	**[SongTitleExtraction](SongTitleExtraction)**


7.  In a text file we are given the name, address and phone number of given person (each at a single line).
  * Write a program, which creates new XML document, which contains these data in structured XML format.

	**[PersonInfoCreation](PersonInfoCreation)**

8.  Write a program, which (using `XmlReader` and `XmlWriter`) reads the file `catalog.xml` and creates the file `album.xml`, in which stores in appropriate way the names of all albums and their authors.

	**[AlbumCreation](AlbumCreation)**

<commit_msg>All links to projects work just fine<commit_after>## XML Processing in .NET
### _Homework_

1.  Create a XML file representing catalogue.
  * The catalogue should contain albums of different artists.
  * For each album you should define: `name`, `artist`, `year`, `producer`, `price` and a list of `songs`.
  * Each song should be described by title and duration.

	**[CatalogFirstCreation](CatalogFirstCreation)**

	**[AdditionalFiles/catalog.xml](AdditionalFiles/catalog.xml)**
2.  Write program that extracts all different artists which are found in the `catalog.xml`.
  * For each author you should print the number of albums in the catalogue.
  * Use the DOM parser and a hash-table.

	**[ArtistsExtraction](ArtistsExtraction)**
3.  Implement the previous using XPath.

	**[ArtistsExtraction](ArtistsExtraction)**

4.  Using the DOM parser write a program to delete from `catalog.xml` all albums having price > 20.

	**[ExpensiveAlbumsRemoval](ExpensiveAlbumsRemoval)**


5.  Write a program, which using `XmlReader` extracts all song titles from `catalog.xml`.

	**[SongTitleExtraction](SongTitleExtraction)**


6.  Rewrite the same using `XDocument` and LINQ query.

	**[SongTitleExtraction](SongTitleExtraction)**


7.  In a text file we are given the name, address and phone number of given person (each at a single line).
  * Write a program, which creates new XML document, which contains these data in structured XML format.

	**[PersonInfoCreation](PersonInfoCreation)**

8.  Write a program, which (using `XmlReader` and `XmlWriter`) reads the file `catalog.xml` and creates the file `album.xml`, in which stores in appropriate way the names of all albums and their authors.

	**[AlbumCreation](AlbumCreation)**


{'fraction_non_alphanumeric': 0.09330505907300818, 'fraction_numerical': 0.006058770069675856, 'mean_word_length': 4.587140439932318, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 13}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7533802', 'n_tokens_mistral': 963, 'n_tokens_neox': 889, 'n_words': 414}