gpt4 book ai didi

xml - 在 XSLT (Schema Aware XSLT 2.0 ala Post-Schema-Validation Infoset) 期间从 XSD 复制 VALUE 的任何方法?

转载 作者:行者123 更新时间:2023-12-04 05:48:15 27 4
gpt4 key购买 nike

我正在尝试将 Attribute 值从架构中的一个元素复制到 XSLT 输出。
我尝试了复制,并访问了很多带有模式元素的示例,但它似乎仅用于匹配或复制整个节点结构......

总而言之,我想利用 xslt xsd 意识来完成为属性分配默认值的 Post-Schema-Validation Infosetway

XML

     <MyProject Val="wrongval">

XSD
     <xs:element name="MyProject">
<xs:complexType>
<xs:attribute name="Val" fixed="1234" />
</xs:complexType>
</xs:element>

XSLT
    <xsl:template match="/">
<xsl:element name="MyProject">
<xsl:attribute name="Val">**???=1234**</xsl:attribute>
</xsl:element>
</xsl:template>

最佳答案

你快到了。给定以下(未使用的)源文档:

<MyProject Val="wrongval"/>

以及以下架构:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="MyProject">
<xs:complexType>
<xs:attribute name="Val" fixed="1234" />
</xs:complexType>
</xs:element>

</xs:schema>

以及以下样式表:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:import-schema schema-location="test.xsd"/>

<xsl:template match="/">
<xsl:element name="MyProject" validation="strict"/>
</xsl:template>

</xsl:stylesheet>

转换输出为:
<?xml version="1.0" encoding="UTF-8"?><MyProject Val="1234"/>

关于xml - 在 XSLT (Schema Aware XSLT 2.0 ala Post-Schema-Validation Infoset) 期间从 XSD 复制 VALUE 的任何方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10411441/

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