Для следующего XMLЧто должен делать мой XSLT, когда в XML есть xmlns?
<Properties ComponentID="1272040480745" Admin="true">
<Datum ID="P01" Type="File" Name="CSS To Use">style.css</Datum>
<Data>
<External></External>
<Result>
<results xmlns="http://www.interwoven.com/schema/iwrr" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.interwoven.com/schema/iwrr iwrr.xsd" total="1" included="1" start="0" status="200">
<assets>
<document id="019c7c763e5ae286c7d566ff883f8199" uri="/document/id/019c7c763e5ae286c7d566ff883f8199" context="cb478aef64c6415b390e241885fd1346" path="templatedata/www/location/data/Belton">
<metadata>
<field name="TeamSite/Metadata/locationRegion">
Central
</field>
</metadata>
</document>
</assets>
</results>
</Result>
</Data>
Как бы выбрать атрибут пути от элемента документа? Мой текущий XSLT является:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="/">
<div>
<xsl:apply-templates select="Properties/Data/Result/results/assets/document"></xsl:apply-templates>
<xsl:text>HELLO THERE!</xsl:text>
</div>
</xsl:template>
<xsl:template match="document">
<xsl:value-of select="@path"></xsl:value-of>
</xsl:template>
</xsl:stylesheet>
Если я удалить Xmlns, Xmlns: XSI и XSI: SchemaLocation из результатов элемента XML-XSLT будет работать. Поэтому, очевидно, я не понимаю материал пространства имен и очень ценю понимание. Благодаря
Быстрый ответ спасибо – Mark
Обратите внимание, что iwwr является псевдонимом для полного пространства имен в этом примере. –
@ Mark-Schultheiss: Этот комментарий для меня, и если да, то в чем его смысл? Префикс пространства имен является префиксом пространства имен. По определению он связан с пространством имен-uri. Мой ответ демонстрирует, как использовать префикс пространства имен, привязанный к определенному пространству имен, чтобы сделать выражение XPath, содержащее имена элементов, принадлежащих этому пространству имен, более читаемым. –