-6ren"> -我很难找到以下问题的答案,这看起来很常见,所以我一定遗漏了一些基本的东西。你能帮帮我吗? 鉴于设计的 XML 模式、示例 XML 输入和下面用于将 XML 转换为 HTML 的示例 XSLT。如何在标-6ren">
gpt4 book ai didi

html - 简单的 XSLT 问题 : setting inner HTML node attribute values such as

转载 作者:行者123 更新时间:2023-11-28 04:15:20 25 4
gpt4 key购买 nike

我很难找到以下问题的答案,这看起来很常见,所以我一定遗漏了一些基本的东西。你能帮帮我吗?

鉴于设计的 XML 模式、示例 XML 输入和下面用于将 XML 转换为 HTML 的示例 XSLT。如何在标签内设置属性?例如<div id=HouseNumber> , <input type="checkbox" id=Zipcode> , ETC?

注意: HouseNumber 和 Zipcode 两边没有引号是故意的。我正在尝试将这些属性的值从 XML 输入放入 id=""、for=""、name=""等。

感谢您抽空参与问题的第一个版本。

亿

示例 XML 架构

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Location">
<xs:complexType>
<xs:attribute name="State" type="xs:string" use="required" />
<xs:attribute name="County" type="xs:string" use="required" />
<xs:attribute name="City" type="xs:string" use="required" />
<xs:attribute name="Zipcode" type="xs:nonNegativeInteger" use="required" />
<xs:attribute name="HouseNumber" type="xs:nonNegativeInteger" use="required" />
</xs:complexType>
</xs:element>
</xs:schema>

示例 XML 输入:

<Location>
<State>California</State>
<County>Los Angeles County</County>
<City>Los Angeles</City>
<Zipcode>90210</Zipcode>
<HouseNumber>123</HouseNumber>
</Location>

示例 XSLT:

   <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="/">
<xsl:for-each select="Location">
<!--Inner HTML example, div has no id-->
<div class="houseStyle">
<ul>
<li><xsl:value-of select="Location/State"/></li>
<li><xsl:value-of select="Location/County"/></li>
<li><xsl:value-of select="Location/City"/></li>
<li><xsl:value-of select="Location/Zipcode"/></li>
</ul>
</div>
<!--Inner HTML example again, but how do I
set the div id to HouseNumber?-->
<div class="houseStyle" id=HouseNumber>
<ul>
<li><xsl:value-of select="Location/State"/></li>
<li><xsl:value-of select="Location/County"/></li>
<li><xsl:value-of select="Location/City"/></li>
<li><xsl:value-of select="Location/Zipcode"/></li>
</ul>
</div>
</xsl:for-each>
</xsl:stylesheet>

所需的 HTML 输出,其中 div 标记具有门牌号的 id:

<div class="houseStyle" id="123">
<ul>
<li>California</li>
<li>Los Angeles County</li>
<li>Los Angeles</li>
<li>90210</li>
</ul>
</div>

最佳答案

这里不清楚你想要什么。您是说要将属性设置为某些 XPath 表达式的结果(如 Delta )吗?如果是这样,这应该可以解决问题:

<div class="stylishClass" id="{Delta}">

或者您可以使用 <xsl:element><xsl:attribute> ,正如其他答案所描述的那样,尽管典型的用例是必须生成元素/属性名称本身。

关于html - 简单的 XSLT 问题 : setting inner HTML node attribute values such as <div id ="something">,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1527042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com