أحدث البرامج التعليمية وتطوير الشبكة
 

XML مساحات


توفر مساحات الأسماء XML طريقة لتجنب الصراعات اسم العنصر.


اسم النزاعات

في XML، تعرف أسماء العناصر من قبل المطور. هذا غالبا ما يؤدي إلى صراع عندما تحاول خلط وثائق XML من تطبيقات XML مختلفة.

هذا XML يحمل معلومات جدول HTML:

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

هذا XML يحمل معلومات حول جدول (a piece of furniture) :

<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> عناصر لها أسماء مختلفة.


مساحات الأسماء XML - و xmlns السمة

عند استخدام البادئات في XML، وهي namespace يجب أن تكون محددة لإدخال البادئة.

ويمكن تعريف مساحة الاسم من قبل xmlns السمة في بداية علامة عنصر.

إعلان مساحة بناء الجملة التالي. xmlns: prefix =" URI " .

<root>

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

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

</root>

في المثال أعلاه:

و xmlns السمة في الأول <table> العنصر يعطي ح: بادئة مساحة اسم مؤهل.

و xmlns السمة في الثاني <table> العنصر يعطي و: بادئة مساحة اسم مؤهل.

عند تعريف مساحة اسم لعنصر، وترتبط جميع العناصر التابعة مع نفس البادئة مع نفس مساحة الاسم.

ويمكن أيضا أن يعلن مساحات الأسماء في العنصر الجذر XML:

<root
xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3ii.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>

Note: لا يتم استخدام مساحة الاسم URI بواسطة محلل للبحث عن المعلومات.

والغرض من استخدام URI هو إعطاء مساحة اسم فريد.

ومع ذلك، غالبا ما تستخدم الشركات مساحة الاسم كمؤشر إلى صفحة الويب التي تحتوي على المعلومات مساحة الاسم.


زي معرف الموارد (URI)

و Uniform Resource Identifier (URI) هو سلسلة من الأحرف التي تحدد على موارد الإنترنت.

أوري الأكثر شيوعا هو Uniform Resource Locator (URL) الذي يحدد عنوان نطاق الإنترنت. وليس نوع آخر شائع جدا من URI هو Universal Resource Name (URN) .


مساحات الأسماء الافتراضية

تحديد مساحة الاسم الافتراضي لعنصر يخلصنا من استخدام البادئات في جميع العناصر التابعة. لديها بناء الجملة التالي:

xmlns="namespaceURI"

هذا XML يحمل معلومات جدول HTML:

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

هذا XML يحمل معلومات حول قطعة من الأثاث:

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

مساحات الأسماء في استخدام ريال مدريد

XSLT هو اللغة التي يمكن استخدامها لتحويل مستندات XML إلى صيغ أخرى.

وثيقة XML أدناه، هو وثيقة تستخدم لتحويل XML إلى HTML.

مساحة الاسم "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 التعليمي .