Skip to main content

XMLLINT: Cleaning Up The Code

I had coded quite a large number of frames in the Artes Latinae project when I hit a wall.  I kept getting an error that was preventing the project from loading on my web browser.

Finally, Marco came to my rescue with the next command for me to learn in hand.... XMLLINT !

We all know what a lint roller is right?  It cleans up all of the lint from our clothes.  Weeeell... XMLLINT is a program, that is on every unix installation, that checks XML (and HTML) syntax.   So, running the XMLLINT command on your terminal for the file you are using will show you where any XML (and HTML) errors are so that you can "clean them up" and fix them!

Once all of the errors have been fixed, you run the XMLLINT command again and you will see your entire XML (and HTML) code displayed in your terminal! 


Here is how the XMLLINT command responded when I had errors: *(I highlighted in yellow and changed the font to red so that you can see the errors that XMLLINT was finding)

Lisas-MBP:Unit-15 user$ xmllint ArtesLatinae15.xml 
ArtesLatinae15.xml:3092: parser error : Opening and ending tag mismatch: lessonFrame line 1747 and unit
</unit>
       ^
ArtesLatinae15.xml:3092: parser error : Premature end of data in tag lessonFrame line 1616
</unit>
       ^
ArtesLatinae15.xml:3092: parser error : Premature end of data in tag unit line 1

</unit>


Here's a small part of how the XMLLINT command responded after I "cleaned up" and fixed the errors, and no other additional errors were found:
(It shows my XML code from my Sublime Text Editor)


Lisas-MBP:Unit-15 user$ xmllint ArtesLatinae15.xml 
<?xml version="1.0"?>
<unit id="15">


<lessonFrame id="1" topic="review">
The accusative plural of the Third, Fourth, and Fifth Declensions also have the signal of length of vowel and -s. This means that to form an accusative plural of a Third Declension noun you change the -em of the singular to -&#x113;s.
<br/>
As before, your teacher will describe one of the two pictures. Echo and write the accusative form on the right or left hand side of your answer pad according to the position of the picture described. 
Remember, the singular ends in -em, the plural in -&#x113;s. 
Therefore the plural of <word lang="la">canem</word> is <response ans="can&#x113;s"/>.
</lessonFrame>



<lessonFrame id="2">
<sound src=""/>
<br/>
<picture src="boy-feeds-dog-and-dogs"/>
<br/>
<response ans="P&#x101;scit juvenis can&#x113;s"/>.
<response ans="P&#x101;scit juvenis can&#x113;s" text="[Did you remember to say your answer aloud as well as write?]">.
</response>
<br/> 
</lessonFrame>


<lessonFrame id="3">
<sound src=""/>
<br/>
<picture src="woman-bathes-baby-and-babies"/>
<br/>
<response ans="Lavat anus &#x12B;nfantem"/>.
<response ans="Lavat anus &#x12B;nfantem"/>.
</lessonFrame>


Pretty cool huh?!   XMLLINT = FTW !



Follow me as I learn to build my website bit by bit!    IronTreeDev.com

Comments

  1. no better way to show how xmllint works. great explanation!

    ReplyDelete

Post a Comment

Popular posts from this blog

XPATH and XPATH Expressions In XMLLINT

XPATH And XPATH Expressions Earlier, I told you about xmllint and xmllint for html files .  Let's say you just want to parse the <span> tags within your html file or just your <span lang="el"> tags? Enter:  Xpath. Xpath is yet another option available within the xmllint language. Remember, an Xpath is used to navigate through elements and attributes in xml and html documents.  Xpath uses Xpath Expressions to select nodes or node sets within a document. Example 1 .  Looking for all of the <span> tags within an html document. xmllint -- html -- xpath " // span" StedmanLesson10.html xmllint = This tells the command line that we are going to be using the xmllint language. space = because we always have space in between commands -- = Remember, these are the two hyphen-minus characters that we need to tell the command line that we are going to use an xmllint option. html = This is the xmllint option we want to

Back To The Basics

Click photo above to see photo clearly  It's Been A LOOONG Minute since I have coded!!   Even so, I decided to give JavaScript another try.  I always seem to do good and then when I get to this one area, I always seem to hit a brick wall.  Well....nothing like getting back up and trying again right?   I decided to try Rithm School's online JavaScript Fundamentals FREE course .  I have never joined their school but their free courses tend to explain things in a way my brain understands it.  💁 To let you know how much I have forgotten in the coding world, I couldn't even remember how to write the basic commands for an HTML document! Yesterday I started the fundamentals free course and I am so glad that I did.  Because of time, I only made it through the JavaScript History and Setup chapter, but that chapter was enough to get my memory flowing again!   It started to feel familiar and I quickly remembered why I enjoyed coding so much.  Yesterday and this morning, I just erased

SCP: Secure Copy Protocol

SCP = Secure Copy Protocol.  What is it and why is it important?   SCP provides a secure way to transfer files from one computer to another. For the project that I'm working on, I needed to SCP (send a copy) the XML files, as well as the image files, from my computer to my EC2 Instance (my web server).  Once done,  my teacher was be able to view my work via my website. Here are the steps to do this: 1.  Open two command windows (the program for my computer is called Terminal). 2.  Let's say the file I want to send is called "SallysFirstDate.xml" and it is located in the "tomy" folder.  Here is where that file lives: /Documents/path/tomy/SallysFirstDate.xml I need to first issue the command to "change directory"(cd) through each folder until I reach the folder that my file is located in.   It would look like this: cd /Documents THEN I need to "cd" again into the "path" folder: cd path THEN I need to "c