質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

XSD

XSDは一般的に、XMLドキュメントの特定のタイプの表現を含んだ、W3C XML Schemaフォーマットで書かれたドキュメントを指します。

Q&A

0回答

444閲覧

【XMLSchema】prefixのついたelementタグの妥当性検証について

irohamaru

総合スコア15

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

XSD

XSDは一般的に、XMLドキュメントの特定のタイプの表現を含んだ、W3C XML Schemaフォーマットで書かれたドキュメントを指します。

0グッド

0クリップ

投稿2017/11/20 04:39

編集2017/11/20 04:42

xsdの書き方について質問です。

以下のようなXMLに対して、妥当性検証を行ったところ、
「cvc-complex-type.2.4.a: 要素'dsig:Signature'で始まる無効なコンテンツが見つかりました。」
というエラーが出てしまいました。

XSDに慣れておらず、<xsd:element name="Signature" type="SignatureType"/>の箇所を
<xsd:element name="dsig:Signature" type="SignatureType"/>にしてみたりしましたが、今度は

  • s4s-att-must-appear: 属性 'name' は要素 'element' に現れなければなりません。
    • s4s-att-invalid-value: Invalid attribute value for 'name' in element 'element'. Recorded reason: cvc-datatype-valid.1.2.1: 'dsig:Signature' is not a valid value
    for 'NCName'.

というエラーが出てしまい、うまくいきませんでした。

このXMLの妥当性チェックが通るためには、XSDをどのように修正すればよいでしょうか。
(本来はXSDに合った形のXMLを出力すべきですが、暫定対応でXSDを修正しようと思っています)

xml

1 2<?xml version="1.0" encoding="UTF-8" ?> 3<?xml-stylesheet type="text/xsl" href="http://xml.XXXXXX.jp/XXX/XXXXXX.xsl"?> 4<AAA xmlns="http://xml.XXXXXX.jp/XXX/aaaaaa" xmlns:gen="http://xml.XXXXXX.jp/XXX/XXXXXX" VR="1.0"> 5 6 (中略) 7 8 <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Id="a"> 9 <dsig:SignedInfo> 10 <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/> 11 <dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> 12 <dsig:Reference URI="#ZZZZZZ"> 13 <dsig:Transforms> 14 <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> 15 </dsig:Transforms> 16 <dsig:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> 17 <dsig:DigestValue>V3hmkO0FK8ICbtl87y76kpxfKE+qUmKFfNDYeuR85+A=</dsig:DigestValue> 18 </dsig:Reference> 19 </dsig:SignedInfo> 20 <dsig:SignatureValue>te0OoWWC2H1..</dsig:SignatureValue> 21 <dsig:KeyInfo> 22 <dsig:X509Data> 23 <dsig:X509Certificate>MIIDkjCCAnqgA..</dsig:X509Certificate> 24 </dsig:X509Data> 25 </dsig:KeyInfo> 26 </dsig:Signature> 27</TEG700> 28

妥当性チェックを行うXSD

xsd

1<?xml version="1.0" encoding="UTF-8" ?> 2<xsd:schema targetNamespace="http://xml.XXXXXX.jp/XXX/aaaaaa" 3xmlns="http://xml.XXXXXX.jp/XXX/aaaaaa" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" 4xmlns:gen="http://xml.XXXXXX.jp/XXX/XXXXXX" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" > 5<xsd:annotation> 6<xsd:documentation> 7version:1.0 8Date:2017年MM月DD日 9</xsd:documentation> 10</xsd:annotation> 11 12<!-- version --> 13<xsd:simpleType name="AAA-1-0VRtype"><xsd:restriction base="xsd:string"><xsd:enumeration value="1.0"/></xsd:restriction></xsd:simpleType> 14<!-- Root Element Definition --> 15<xsd:element name="AAA" type="AAA-1-0type"/> 16 17<xsd:complexType name="AAA-1-0type"> 18<xsd:sequence> 19 20<xsd:element name="BBB00000" type="BBB00000-1-0Rtype" minOccurs="0"> 21<xsd:annotation> 22<xsd:appinfo>"テスト"</xsd:appinfo> 23</xsd:annotation> 24</xsd:element> 25 26(中略) 27 28<!-- XML-SIGNATURE --> 29<xsd:element ref="Signature" minOccurs="1" maxOccurs="1"/> 30</xsd:sequence> 31<xsd:attribute name="VR" 32type="AAA-1-0VRtype" 33use="required"/> 34<xsd:attributeGroup ref="FormAttribute" /> 35</xsd:complexType> 36 37<xsd:element name="Signature" type="SignatureType"/> 38<xsd:complexType name="SignatureType"> 39 <xsd:sequence> 40 <xsd:element ref="SignedInfo" /> 41 <xsd:element ref="SignatureValue" /> 42 <xsd:element ref="KeyInfo" minOccurs="0" /> 43 <xsd:element ref="Object" minOccurs="0" maxOccurs="unbounded" /> 44 </xsd:sequence> 45 <xsd:attribute name="Id" type="xsd:ID" use="required" /> 46</xsd:complexType> 47 48(以下省略) 49

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問