DocumentType#

DocumentType.publicId#

Właściwość publicId zwraca identyfikator publiczny dla danej deklaracji typu dokumentu. Jeśli deklaracja typ dokumentu nie posiada identyfikatora publicznego to zwrócony zostanie pusty łańcuch znakowy. Właściwość jest tylko do odczytu.

Opis działania#

Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
var public_id = documentType.publicId;

gdzie poszczególne człony oznaczają:

Początkujący programiści powinni zwracać uwagę na poprawny zapis znaków "Id" w nazwie właściwości, próba odczytania właściwości za pomocą zapisu "publicID" nie zadziała i zrzucony zostanie błąd.

Prosty przykład:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
<!DOCTYPE html>
<html>

<head>

	<script>

		function readDTD(whatDTD){

			var dtd = null;

			if (whatDTD == "dtd1"){
				dtd = document.doctype;
			}
			else if (whatDTD == "dtd2"){
				dtd = document.implementation.createDocumentType("HTML", "-//W3C//DTD HTML 4.01//EN", "http://www.w3.org/TR/html4/strict.dtd");
			}
			else if (whatDTD == "dtd3"){
				dtd = document.implementation.createDocumentType("źdźbło", "dowolny publiczny ID", "");
			}
			else if (whatDTD == "dtd4"){
				dtd = document.implementation.createDocumentType("źdźbło", "", "dowolny systemowy ID");
			}
			else if (whatDTD == "dtd5"){
				dtd = document.implementation.createDocumentType("źdźbło", "dowolny publiczny ID", "dowolny systemowy ID");
			}
			else if (whatDTD == "dtd6"){
				dtd = document.implementation.createDocumentType("xml:xmlns", "", "");
			}

			var info = document.getElementById("info");

			if (dtd != null){

				info.innerHTML = "Interfejs pobranego węzła: " + dtd
						+ "<br>" + "Właściwość name: " + dtd.name
						+ "<br>" + "Właściwość publicId: " + dtd.publicId
						+ "<br>" + "Właściwość systemId: " + dtd.systemId
						+ "<br><br>" + "Właściwość ownerDocument: " + dtd.ownerDocument
						+ "<br>" + "Właściwość nodeName: " + dtd.nodeName
						+ "<br>" + "Właściwość nodeType: " + dtd.nodeType + "<br>";

				var newText = document.createTextNode("");
				newText.data = new XMLSerializer().serializeToString(dtd);
				info.appendChild(newText);

			}
			else{

				try{
					if (whatDTD == "dtd7"){
						dtd = document.implementation.createDocumentType("0", "", "");
					}
					else if (whatDTD == "dtd8"){
						dtd = document.implementation.createDocumentType(":", "", "");
					}
				}
				catch(e){
					info.innerHTML = "Niewłaściwa nazwa '0' dla tworzonego typu dokumentu dlatego zrzucony zostanie błąd:"
							+ "<br>" + e + "<br>" + e.constructor;
				}

			}

		}

	</script>

</head>

<body>
	<p>DTD 1 : &lt;!DOCTYPE html&gt;</p>
	<p>DTD 2 : &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&gt;</p>
	<p>DTD 3 : &lt;!DOCTYPE źdźbło PUBLIC "dowolny publiczny ID"&gt;</p>
	<p>DTD 4 : &lt;!DOCTYPE źdźbło SYSTEM "dowolny systemowy ID"&gt;</p>
	<p>DTD 5 : &lt;!DOCTYPE źdźbło PUBLIC "dowolny publiczny ID" "dowolny systemowy ID"&gt;</p>
	<p>DTD 6 : &lt;!DOCTYPE xml:xmlns&gt;</p>
	<p>DTD 7 : &lt;!DOCTYPE 0&gt;</p>
	<p>DTD 8 : &lt;!DOCTYPE :&gt;</p>

	<p>Kliknij konkretny przycisk by utworzyć i odczytać dane dla poszczególnych DTD.</p>
	<input type="button" value="DTD 1" onclick="readDTD('dtd1')">
	<input type="button" value="DTD 2" onclick="readDTD('dtd2')">
	<input type="button" value="DTD 3" onclick="readDTD('dtd3')">
	<input type="button" value="DTD 4" onclick="readDTD('dtd4')">
	<input type="button" value="DTD 5" onclick="readDTD('dtd5')">
	<input type="button" value="DTD 6" onclick="readDTD('dtd6')">
	<input type="button" value="DTD 7" onclick="readDTD('dtd7')">
	<input type="button" value="DTD 8" onclick="readDTD('dtd8')">

	<p style="color: blue;">Szczegółowe informacje:</p>
	<p id="info"></p>
</body>

</html>

Składnia Web IDL#

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
interface DocumentType : Node {
	readonly attribute DOMString publicId;
};

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

DocumentType (H1) DocumentType.publicId (H2) Opis działania (H3) Składnia Web IDL (H3) Specyfikacje i inne materiały (H3)