XSLT使用XSD属性修改XML

XSLT使用XSD属性修改XML,xml,xslt,xsd,Xml,Xslt,Xsd,我想使用XSD的属性修改我的XML代码 XSD: XML代码: 一串 一串 一串 我想编写XSLT代码,使用XSD中的maxOccurs属性检查强制节点(即,如果maxOccurs=“1”则元素是强制的),如果源xml中没有这些元素,则抛出错误。有可能写这样的代码吗? 非常感谢您在这方面的帮助 通过xsd验证xml是模式验证器的任务,为什么要使用xslt重新发明轮子?我正在接收源xml,并且必须根据我的需求修改它,这就是为什么我要使用xslt来转换它。为了检查强制元素,我必须使用XSD中

我想使用XSD的属性修改我的XML代码

XSD:

XML代码:

一串
一串
一串
我想编写XSLT代码,使用XSD中的
maxOccurs
属性检查强制节点(即,如果
maxOccurs=“1”
则元素是强制的),如果源xml中没有这些元素,则抛出错误。有可能写这样的代码吗?
非常感谢您在这方面的帮助

通过xsd验证xml是模式验证器的任务,为什么要使用xslt重新发明轮子?我正在接收源xml,并且必须根据我的需求修改它,这就是为什么我要使用xslt来转换它。为了检查强制元素,我必须使用XSD中的maxOccurse属性,因为这是检查它的唯一方法。但我不知道如何做到这一点。解决一般问题是一个非常大的项目,而你提出的问题(因此不了解挑战的规模)意味着你不应该尝试。如果你把它简化为一些非常简单的情况,在这些情况下,你事先对你的模式了解很多,可以做出很多假设并施加很多限制,这可能是容易处理的。谢谢你的回答。在本例中,我将尝试其他方法来获得所需的输出。
<xsd:schema xmlns:xsd="uri" xmlns:vc="uri_1" xmlns="uri_2" targetNamespace="uri_3" elementFormDefault="qualified" attributeFormDefault="unqualified" vc:minVersion="1.1">
<xsd:include schemaLocation="PolicyAdminGroupBenefits.xsd" /> 

<xsd:element name="FrequencyCode" type="xsd:string" /> 
<xsd:element name="BankAccountNumber" type="xsd:string" /> 
<xsd:element name="AmericanBankersAssociationRoutingNumber" type="xsd:string" /> 
<xsd:element name="BankAccount" type="BankAccount_Type" /> 
<xsd:element name="ElectronicFundsTransferPaymentTransaction" type="ElectronicFundsTransferPaymentTransaction_Type" />

<xsd:complexType name="ElectronicFundsTransferPaymentTransaction_Type">
<xsd:sequence>
<xsd:element ref="FrequencyCode" minOccurs="0" /> 
<xsd:element ref="BankAccount" minOccurs="0" maxOccurs="1" /> 
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BankAccount_Type">
<xsd:sequence>
<xsd:element ref="AmericanBankersAssociationRoutingNumber" minOccurs="0" /> 
<xsd:element ref="BankAccountNumber" minOccurs="0" />  
</xsd:sequence>
</xsd:complexType>
   <EmployerViewRootElement xmlns="uri_2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="uri_2 EmployerView.xsd">
   <ElectronicFundsTransferPaymentTransaction>
   <FrequencyCode>String</FrequencyCode> 
   <BankAccount>
   <AmericanBankersAssociationRoutingNumber>String</AmericanBankersAssociationRoutingNumber> 
   <BankAccountNumber>String</BankAccountNumber>  
   </BankAccount>
   </ElectronicFundsTransferPaymentTransaction>
   </EmployerViewRootElement>