How do I find all text nodes in an XML document with a namespace using XPath?에서 SO 사용자는 XML 문서의 텍스트 노드를 네임 스페이스 한정으로 지정할 수 없다고 주장했습니다. XPath 1.0 spec 및 this doc on QNames은 어설 션에 동의합니다.왜 XML 스키마에서 QName이 요소의 값이 될 수 있습니까?
OTOH,이 XML
<?xml version="1.0" encoding="UTF-8"?>
<Root xmlns:bob="http://www.bob.com">
<Hello>bob:World</Hello>
</Root>
그리고이 XML 스키마를 고려하십시오
는<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element name="Hello" type="xs:QName" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
이 유형 QName
의 수 Hello
를 선언합니다. http://www.bob.com
네임 스페이스가 XML 문서에서 제거되면 유효성이 검사되지 않습니다.
이 작업을 수행하는 실제 예를보고 싶으십니까? faultcodes in the SOAP 1.2 spec은 제가 실행 한 것입니다.
- 왜 XML 스키마가의 QName이 요소의 값이 될 수 있도록 않습니다
그래서 여기 내 질문입니까? 이것은 다른 사양과 모순되는 것 같습니다.
- XML 파서가 텍스트 노드를 네임 스페이스 정규화 된 것으로 이해하지 않지만 스키마 유효성 검사기 및 SOAP 프로세서와 같은 다른 프로세서가 수행한다고해도 과언이 아닙니까?
이 질문을 해주셔서 감사합니다. 우주에서 유일하게 다른 사람이 문제인 것으로 보입니다. 내가 가진 문제는 XSLT 프로세서가 QNames로 오류 코드를 해석 할 수없는 것처럼 보이므로 XSLT의 비누 1.1과 비누 1.2간에 변환 할 수있는 확실한 방법이 없다는 것입니다. –
귀하가 링크를 찾는 것과 관련하여 "XML 문서의 텍스트 노드가 네임 스페이스를 검증 할 수 없다"는 것에 동의한다고 주장합니다. 그러나 그 형식에 대한 설명은이 문서에서 찾을 수 없습니다. –