Understanding xmlns: what are the links linked to?
I have read similar question here ,but It still hasn't answered my confusions.
I refer to this tutorial
here's the snipper:
<robot xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor"
xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller"
xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"
xmlns:xacro="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"
name="pr2" >
I know that XMLNS is namespace for XML
Quoting gvdhorn's commend on the thread I linked,
"xmlns is short for "XML NameSpace", and is a special XML construct that is expained in the links @VictorLamoine posted. @shawnysh: you can essentially consider them like import statements in the example you posted. But it's really an XML thing, not ROS specific"
Please help to clarify these things:
- What is the link specified in xmlns linked to? Is this link like a library (implying from gvdhorn's statement)? but why do we need the library?
- If I am to create my own robot. How is the xmlns somehow involved in the creation?
- How do i know which link to be linked to?
- In the tutorial code after specifying the namespace above, could you give examples which lines of code are being appended by the namespace?
Please elaborate
Thank you