XML ຊຸນນະພາບຊື່

XML ນິຍົມວັດຖຸສະໜອງວິທີການຫຼີກຫຼາຍການຂັດຂວາງຊື່ປະກອບ.

ການຂັດຂວາງຊື່

ໃນ XML, ຊື່ຂອງປະກອບມີການກໍານົດໂດຍນັກພັດທະນາ. ເມື່ອສອງເອກະສານນຳໃຊ້ຊື່ປະກອບດຽວກັນ, ຈະເກີດການຂັດຂວາງຊື່.

XML ນີ້ກວມເອົາຂໍ້ມູນຂອງກາງກະຕຸບ:

<table>
  <tr>
    <td>Apples</td>
    <td>Bananas</td>
  </tr>
</table>

XML ນີ້ກວມເອົາຂໍ້ມູນກ່ຽວກັບກະຕຸບ (ອາຄານ):

<table>
  <name>African Coffee Table</name>
  <width>80</width>
  <length>120</length>
</table>

ຖ້າສອງເອກະສານ XML ນີ້ຖືກນຳໃຊ້ຮ່ວມກັນ, ຍ້ອນທັງສອງເອກະສານໄດ້ກວມເອົາ <table> ທີ່ມີຂະແໜງການກັບການສະແດງ ແລະ ການອອກນຳ, ຈະເກີດການຂັດຂວາງຊື່.

ຜູ້ນຳໃຊ້ ຫຼື ການນຳໃຊ້ XML ບໍ່ສາມາດຮັບຮູ້ວ່າຈະຈັດການການຂັດຂວາງນີ້.

ການນຳໃຊ້ການວິວັດທີ່ຢູ່ຊື່

ການນຳໃຊ້ຊື່ກ່ອນສະນະສາມາດຫຼີກຫຼາຍການຂັດຂວາງຊື່ໃນ XML.

XML ນີ້ກວມເອົາຂໍ້ມູນກ່ຽວກັບ HTML ກາງກະຕຸບ ແລະ ອາຄານກະຕຸບ:

<h:table>
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>
<f:table>
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

ຕອນນີ້, ການຂັດຂວາງຊື່ບໍ່ມີການກະທົບ, ຍ້ອນທັງສອງເອກະສານໄດ້ນຳໃຊ້ຊື່ທີ່ຫຼາກຫຼາຍໃນການນຳໃຊ້ <table>.<h:table> ກັບ <f:table>)。

ດ້ວຍການນຳໃຊ້ການນຳການວິວັດ, ພວກເຮົາໄດ້ສ້າງສອງຊະນິດ <table>.

XML ນິຍົມວັດຖຸ - xmlns ລັກສະນະ

在 XML 中使用前缀时,必须定义前缀的命名空间(Namespaces)。

命名空间可以通过元素开始标记中的 xmlns 属性来定义。

命名空间声明使用这种语法:xmlns:prefix="URI"。



  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>

  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>
</root>

在上面的例子中:

第一个

元素中的 xmlns 属性为 h: 前缀提供了限定的命名空间。

第二个

元素中的 xmlns 属性为 f: 前缀提供了限定的命名空间。

如果为元素定义了命名空间,则相同前缀的所有子元素都与相同的命名空间相关联。

ສະນວນນິຍົມຜົນງານກໍ່ສາມາດຖືກຖະແຫຼງໃນບັນຕາພາກສາຍາຍ XML ອົງການຫຼັກຂອງ XML。

<root xmlns:h="http://www.w3.org/TR/html4/">
xmlns:f="https://www.codew3c.com/furniture">
<h:table>
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>
<f:table>
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>
</root>

ເຫັນຫຍັງ:ການຊອກຫາຂອງຈັກພິຈາລະນາບໍ່ໃຊ້ URI ສະນວນນິຍົມຜົນງານເພື່ອຊອກຫາຂໍ້ມູນ。

ຄວາມຕາມຂອງການນຳໃຊ້ URI ແມ່ນເພື່ອຕັ້ງຊື່ສະນວນນິຍົມຜົນງານມັນຫຼາຍຄວາມສະເພາະສະຫຼາດຫຼາຍທີ່ສຸດ。

ແຕ່ວ່າຫຼາຍບໍລິສັດຈະໃຊ້ສະນວນນິຍົມຜົນງານໃນນາມປະກອບເປັນທີ່ສະແດງສະຖານທີ່ທີ່ມີຂໍ້ມູນກ່ຽວກັບສະນວນນິຍົມຜົນງານ。

ອະນຸມະສິດຄວາມພາບຫຼັກ (URI)

ອະນຸມະສິດຄວາມພາບຫຼັກ (Uniform Resource Identifier,URI) ແມ່ນສະຖານທີ່ສະຫຼົກຂອງອິນເຕີເນັດ。

) ແມ່ນປະເພດ URI ທີ່ມີຄວາມປະສົມທົ່ວໄປທີ່ສຸດ。ຕັດສິນຫຼັກຄວາມພາບຫຼັກ (Uniform Resource Locator,URL),ມັນສະແດງສະຖານທີ່ສະຫຼົກທາງອິນເຕີເນັດ。

ປະເພດ URI ທີ່ບໍ່ຄ່ອຍເກີດພຽງບໍ່ແມ່ນຊື່ສະຫຼົກຄວາມພາບຫຼັກ (Uniform Resource Name,URN)。

ສະນວນນິຍົມຜົນງານສະຫຼົກ (Default Namespaces)

ການຈຳນວນສານນາມສານສຳລັບສິ່ງມີສານສະເພາະຈະຫາຍຫຼາຍຈາກສິ່ງທີ່ຈະມີການນໍາໃຊ້ການສະນາມນາມ.

ກະຈາຍຄຳສັ່ງດັ່ງກ່າວ:

xmlns="namespaceURI"

XML ດັ່ງກ່າວນີ້ມີຂໍ້ມູນກ່ຽວກັບອີກວຽກ HTML:

<table xmlns="http://www.w3.org/TR/html4/">
  <tr>
    <td>Apples</td>
    <td>Bananas</td>
  </tr>
</table>

XML ດັ່ງກ່າວນີ້ມີຂໍ້ມູນກ່ຽວກັບອຸປະກອນ:

<table xmlns="https://www.codew3c.com/furniture">
  <name>African Coffee Table</name>
  <width>80</width>
  <length>120</length>
</table>

ການນໍາໃຊ້ສະນາມນາມສານ

XSLT ແມ່ນພາສາທີ່ສາມາດໃຊ້ການແປງສານ XML ເປັນຮູບແບບອື່ນ:

XML ດັ່ງກ່າວນີ້ແມ່ນເປັນເອກະສານທີ່ນຳມາການແປງສານ XML ເປັນ HTML:

ຖ້າທ່ານຈະຊົມຫັວງຫັນນີ້ XSLT ທີ່ຢູ່ລັງມາຈະເຫັນວ່າສ່ວນຫຼາຍຂອງອີກວຽກແມ່ນອີກວຽກ HTML:

ອີກຢ່າງໃດກໍ່ຕາມອີກຢ່າງບັນຫາ HTML ຕ້ອງມີສາມາດ xsl ແລະ ສາມາດສະນາມນາມສານ "http://www.w3.org/1999/XSL/Transform":

ສະນາມນາມສານ "http://www.w3.org/1999/XSL/Transform" ຊີ້ວ່າ XSLT ຕົວຢ່າງ HTML ຂອງເອກະສານ:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
  <h2>My CD Collection</h2>
  <table border="1">
    <tr>
      <th style="text-align:left">Title</th>
      <th style="text-align:left">Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
  </table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

如果您想深入学习有关 XSLT 的更多内容,请阅读我们的 XSLT 教程