Как мне узнать, каким должно быть пространство имен XML при чтении файлов XSD?
Пространство имен XML элемента root документа XML должен соответствовать значению атрибута targetNamespace
управляющего XSD.
Я вижу, что в базовой схеме есть элемент EFilingMegabatch XML, который включает EFilingBatch XML. EFilingBatch XML также определен в файле базовой схемы. Это проблема?
Элемент root должен быть определен на верхнем уровне связанного XSD, поэтому вы не сможете иметь документ XML с EFilingBatchXML
* Элемент 1058 * проверяется на соответствие базовой схеме, поскольку он не имеет такого элемента на верхнем уровне.
Из того, что вы опубликовали (при условии, что он представляет ваш фактический случай), fc2:EFilingBatchXML
как * Элемент 1059 * вашего документа XML с префиксом пространства имен fc2
, привязанным к www.fincen.gov/base
, должен быть связан с https://www.fincen.gov/sites/default/files/schema/base/EFL_CTRXBatchSchema.xsd
для вашего значения атрибута xsi:schemaLocation
. Он определен на верхнем уровне там, поэтому он должен быть доступен для документов, для которых это элемент root.
Sample Valid XML
Кажется, что XSD страдает от бумаги -form требования эры, такие как минимум шесть fc2:Party
элементов, поэтому этот «минимальный» пример немного длинен, но следующий XML действителен для XSD, указанного в атрибуте xsi:schemaLocation
.
<?xml version="1.0" encoding="UTF-8"?>
<fc2:EFilingBatchXML TotalAmount="35000" PartyCount="6" ActivityCount="1"
xsi:schemaLocation="www.fincen.gov/base
https://www.fincen.gov/sites/default/files/schema/base/EFL_CTRXBatchSchema.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fc2="www.fincen.gov/base">
<fc2:FormTypeCode>CTRX</fc2:FormTypeCode>
<fc2:Activity SeqNum="1">
<fc2:EFilingPriorDocumentNumber>0</fc2:EFilingPriorDocumentNumber>
<fc2:FilingDateText>20200804</fc2:FilingDateText>
<fc2:ActivityAssociation SeqNum="2">
<fc2:CorrectsAmendsPriorReportIndicator></fc2:CorrectsAmendsPriorReportIndicator>
<fc2:FinCENDirectBackFileIndicator></fc2:FinCENDirectBackFileIndicator>
<fc2:InitialReportIndicator></fc2:InitialReportIndicator>
</fc2:ActivityAssociation>
<fc2:Party SeqNum="3">
<fc2:ActivityPartyTypeCode>35</fc2:ActivityPartyTypeCode>
<fc2:PartyName SeqNum="4"></fc2:PartyName>
</fc2:Party>
<fc2:Party SeqNum="5">
<fc2:ActivityPartyTypeCode>35</fc2:ActivityPartyTypeCode>
<fc2:PartyName SeqNum="6"></fc2:PartyName>
</fc2:Party>
<fc2:Party SeqNum="7">
<fc2:ActivityPartyTypeCode>35</fc2:ActivityPartyTypeCode>
<fc2:PartyName SeqNum="8"></fc2:PartyName>
</fc2:Party>
<fc2:Party SeqNum="9">
<fc2:ActivityPartyTypeCode>35</fc2:ActivityPartyTypeCode>
<fc2:PartyName SeqNum="10"></fc2:PartyName>
</fc2:Party>
<fc2:Party SeqNum="11">
<fc2:ActivityPartyTypeCode>35</fc2:ActivityPartyTypeCode>
<fc2:PartyName SeqNum="12"></fc2:PartyName>
</fc2:Party>
<fc2:Party SeqNum="13">
<fc2:ActivityPartyTypeCode>35</fc2:ActivityPartyTypeCode>
<fc2:PartyName SeqNum="14"></fc2:PartyName>
</fc2:Party>
<fc2:CurrencyTransactionActivity SeqNum="15">
<fc2:AggregateTransactionIndicator></fc2:AggregateTransactionIndicator>
<fc2:ArmoredCarServiceIndicator></fc2:ArmoredCarServiceIndicator>
<fc2:ATMIndicator></fc2:ATMIndicator>
<fc2:MailDepositShipmentIndicator></fc2:MailDepositShipmentIndicator>
<fc2:NightDepositIndicator></fc2:NightDepositIndicator>
<fc2:SharedBranchingIndicator></fc2:SharedBranchingIndicator>
<fc2:TotalCashInReceiveAmountText></fc2:TotalCashInReceiveAmountText>
<fc2:TotalCashOutAmountText></fc2:TotalCashOutAmountText>
<fc2:TransactionDateText>20200804</fc2:TransactionDateText>
<fc2:CurrencyTransactionActivityDetail SeqNum="16">
<fc2:CurrencyTransactionActivityDetailTypeCode>55</fc2:CurrencyTransactionActivityDetailTypeCode>
<fc2:DetailTransactionAmountText></fc2:DetailTransactionAmountText>
<fc2:OtherCurrencyTransactionActivityDetailText></fc2:OtherCurrencyTransactionActivityDetailText>
<fc2:OtherForeignCurrencyCountryText></fc2:OtherForeignCurrencyCountryText>
</fc2:CurrencyTransactionActivityDetail>
</fc2:CurrencyTransactionActivity>
</fc2:Activity>
</fc2:EFilingBatchXML>
Если это руководство не позволяет вам успешно проверить свой XML на соответствие XSD в атрибуте xsd:schemaLocation
, тогда опубликуйте пример минимального завершения , который не может быть подтвержден для дальнейшей проверки. помощь.
См. также