Esquemas XSD permitindo caracteres especiais/reservados na etiqueta do elemento de string
Pergunta
Em uma tag de elemento de string, o analisador XML receberá confuso Se encontrar os seguintes caracteres
'
"
<
>
&
(ou seja, digamos que o nome da empresa foi recuperado de um campo de banco de dados, e parece assim: "Smith & Sons")
A questão é: como você pode projetar seu XSD para ignorar esses caracteres se encontrado em um elemento?
Solução
Você não pode fazê -lo ignorar esses personagens.
Eles são inválido em XML e, portanto, precisam ser escapados ou embrulhados em seções CDATA. Não há como esses personagens aparecerem em XML a não ser que Você constrói o XML usando meios inadequados (a saber: concatenação de string).
Se você criar seu XML usando meios adequados (uma biblioteca XML de alguns tipos), esses caracteres são substituídos por seus colegas de capas XML de forma transparente e nenhum analisador reclamará.
Outras dicas
A resposta é que você não.
O criador do conteúdo XML deve colocá -los em seções CDATA.
Se você extrair "Smith & Sons" do banco de dados, ele deve ser escapado quando inserido em seu XML
por exemplo, o exposto acima se tornará 'Smith & Sons'
Da mesma forma para os outros personagens acima.
Como isso acontece depende de como você cria seu conteúdo XML. Se estiver usando uma API como o DOM, isso deve acontecer automaticamente. Se você estiver montando seu XML manualmente, precisará se preocupar com isso (e outros problemas como a codificação de personagens - o que significa que usar uma API é a opção preferível aqui).