Notepad/enter/Coding Tips (Classical)/Terminal Tips/Languages/XML.md

4.1 KiB

XML

Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable.

  • Utilized often in BBEdit for CLMs.

  • This is a fantastic article explaining how an XML diagram which we learned about in software engineering directly translates to the XML code that is used by the system. This is why diagrams are so important in software engineering overall.

  • This website discusses how to extract XML files from quantum espresso.

  • XML formatter --> freeformatter.com

For example, this is the XML diagram: !Pasted image 20221208133914.png

And this would be the XML code:

<?xml version="1.0" encoding="UTF-8**"**?>  
<bookstore>  
  <book category="cooking">  
    <title lang="en">Everyday Italian</title>  
    <author>Giada De Laurentiis</author>  
    <year>2005</year>  
    <price>30.00</price>  
  </book>  
  <book category="children">  
    <title lang="en">Harry Potter</title>  
    <author>J K. Rowling</author>  
    <year>2005</year>  
    <price>29.99</price>  
  </book>  
  <book category="web">  
    <title lang="en">Learning XML</title>  
    <author>Erik T. Ray</author>  
    <year>2003</year>  
    <price>39.95</price>  
  </book>  
</bookstore>

Wait so hold on just a second, wouldn't this have applications in quantum??

  • apparently, this is a XML extractor for actix-web a framework that is used in Rust

!Pasted image 20230901124958.png

XPATH

A query language for navigating in XML document or extract elements in HTML documents

XPath Generator

XSL/XSLT

XSL - eXtensible Stylesheet Language - a styling language for XML

XSLT - XSL Transformations - transforms XML documents into other formats like HTML

<?xml-stylesheet type = "text/xsl" href = "student".xml?>

<class>
	<student> 
		<firstname> Graham </firstname> 
		<lastname> Hall </lastname> 
		<nickname> Garry </nickname> 
	</student> 
</class> 
<xsl:stylehseet verion = "1.0"
xmins:xml = "http://www.w1.org/1999/XML/tranform">

<xml.template match = "/class">
	<html> 
		<body>
		<h2> Student List < /h2> 
	<table border = "1"> 
			<tr bgcolor="lightgreen"> 
				<tr> First Name </tr> 
				<tr> Last Nam </tr> 
				<tr> Nick Name </tr> 
			</tr>
			
			<xsl: for-each select = "student">
				<tr>
					<td><xsl:value-of select = "firstname"/>
					</td>
					<td><xsl:value-of select = "lastname"/>
					</td>
					<td><xsl:value-of select = "nickname"/>
					</td>
		</body> 
	</html> 
<xml:template> 
</xsl:stylesheet> 

Output: !Pasted image 20230901130417.png

XML Scheme:

<class> 
	<student> 
		<firstname> 
</class>

It is Valid if it follows an XML Schema or XSD (XML Scheme definition) XML Scheme describes the structure of an XML document, written in XML

XSD Generator

Example:

<xs:schema xmins:xs="http://www.w3.org"> 
	<xs:element name="class">
		<xs:complexType> 
			<xminselement name ="student> maxOccurs="Unbounded" minOccurs="0">
				

Ensure that it is valid.