Поделиться через


Функция ms:schema-info-available

Возвращает значение true, если для текущего узла доступны сведения об XSD.

        boolean ms:schema-info-available()

Заметки

Следующее выражение возвращает значение true для всех узлов со сведениями о типе XSD.

"//*[ms:schema-info-available()]"

Пример

В следующем примере правило XSLT-шаблона используется для выбора всех элементов файла books.xml, а затем для вывода типов данных элементов и URI-кода пространства имен, как определено в файле books.xsd.

XML-файл (books.xml)

Используйте books.xml.

XSD-файл (books.xsd)

Используйте books.xsd.

HTML-файл (books.html)

HTML-файл такой же, как и в разделе Функция ms:type-namespace-uri([node-set]).

XSLT-файл (books.xslt)

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" 
     xmlns:ms="urn:schemas-microsoft-com:xslt"   
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="text()"/>
  <xsl:output method="html"   
     omit-xml-declaration="yes"/>

  <xsl:template match="/">
     <xsl:apply-templates/>
  </xsl:template>

  <xsl:template match="*">
    <!-- process only those element whose schema-info is available. -->
    <xsl:if test="ms:schema-info-available()">
      <DIV>
          <xsl:value-of select="name()"/> is of
          "<xsl:value-of select="ms:type-local-name()"/>" in
          "<xsl:value-of select="ms:type-namespace-uri()"/>"
      </DIV>
    </xsl:if>
    <xsl:apply-templates/>
  </xsl:template>

</xsl:stylesheet>

ms256442.collapse_all(ru-ru,VS.120).gifВывод

x:catalog is of "" in ""

book is of "" in ""

author is of "string" in "http://www.w3.org/2001/XMLSchema"

title is of "string" in "http://www.w3.org/2001/XMLSchema"

genre is of "string" in "http://www.w3.org/2001/XMLSchema"

price is of "float" in "http://www.w3.org/2001/XMLSchema"

publish_date is of "date" in "http://www.w3.org/2001/XMLSchema"

description is of "string" in "http://www.w3.org/2001/XMLSchema"

description is of "string" in "http://www.w3.org/2001/XMLSchema"

В описанном случае вывод осуществляется таким же образом, как описано в разделе ms:type-namespace-uri, так как сведения схем доступны для каждого элемента.

См. также

Ссылки

Справочник по XML-схемам (XSD)

Справочник по типам данных XML

Основные понятия

Использование функций расширения XPath для поддержки XSD